Skip to content
komallsinghPublic

About

a contest reminder app that helps developers stay updated with upcoming coding competitions by sending timely alerts and organizing contest schedules from different platforms in one place

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

Β 

History

39 Commits

Folders and files

Repository files navigation

πŸ”” CodeBell

Never miss a coding contest again.

Track upcoming contests, manage reminders, and stay competition-ready across multiple coding platforms β€” all from one app.

Kotlin Android Jetpack Compose Room Node.js Express.js


πŸ“– Overview

Competitive programmers often participate in contests hosted across multiple platforms such as Codeforces, LeetCode, CodeChef, AtCoder, and more.

Keeping track of contest schedules manually can be frustrating and often leads to missed opportunities.

CodeBell solves this problem by providing a centralized platform where users can:

  • πŸ“‘ View upcoming contests from multiple platforms
  • ⏳ Track live countdowns to contest start times
  • πŸ”” Schedule personalized reminders
  • βž• Add custom contests and events
  • πŸ“Ά Access previously fetched contests offline

Whether you're preparing for placements, improving your competitive programming skills, or participating in coding events regularly, CodeBell helps you stay organized and never miss an important contest.


πŸ“± Screenshots

Splash Screen Home Screen View All Screen Manual Contest Screen Profile Screen

✨ Features

πŸ“‘ Unified Contest Feed

View upcoming contests from multiple competitive programming platforms in a single place.

⏳ Live Countdown Timer

Real-time countdowns help you know exactly when the next contest begins.

πŸ”” Smart Reminder System

Schedule reminders according to your preference:

  • 30 Minutes Before
  • 1 Hour Before
  • 1 Day Before

βž• Custom Contest Support

Create and manage your own contests, hackathons, college coding events, or practice sessions.

πŸ” Search & Filter

Quickly find contests based on:

  • Platform
  • Contest Name
  • Date

πŸ›  Reminder Management

Modify or cancel reminders anytime from within the app.

πŸ“Ά Offline Support

Previously fetched contests remain accessible even without an internet connection using Room Database.


πŸ— Architecture

CodeBell follows the MVVM (Model–View–ViewModel) architecture pattern to maintain clean separation of concerns and improve scalability.

UI (Jetpack Compose)
        ↓
ViewModel
        ↓
Repository
   ↙         β†˜
Room       Retrofit
(Local)    (Remote)

🧠 Tech Stack

Category Technology
Language Kotlin
UI Toolkit Jetpack Compose
Design System Material 3
Architecture MVVM
Database Room
Networking Retrofit + OkHttp
Dependency Injection Hilt (Planned)
Navigation Navigation Compose
State Management StateFlow
Asynchronous Programming Kotlin Coroutines
Notifications AlarmManager + BroadcastReceiver
Local Persistence Room Database

βš™οΈ Core Functionality

Contest Fetching

  • Retrieves upcoming contests from supported platforms
  • Keeps contest information updated
  • Stores fetched contests locally for offline access

Reminder Scheduling

Uses Android's AlarmManager:

AlarmManager.setExactAndAllowWhileIdle()

Benefits:

  • Accurate reminder delivery
  • Works during Doze Mode
  • Supports multiple reminders
  • Reliable notification scheduling

Manual Contest Creation

Users can create their own events by specifying:

  • Contest Name
  • Platform
  • Date & Time
  • Reminder Preference

Custom contests are stored locally and behave exactly like fetched contests.


πŸ“± Screens

Screen Description
Welcome Screen User onboarding
Home Screen Countdown and upcoming contests
Contest List All contests with search and filtering
Add Contest Create custom contests
Reminder Management Manage notifications

πŸš€ Getting Started

Clone the Repository

git clone https://github.com/komallsingh/CodeBell.git

Open in Android Studio

File β†’ Open β†’ Select CodeBell

Build & Run

./gradlew assembleDebug

πŸ›£ Roadmap

Completed

  • Contest Listing
  • Search & Filtering
  • Reminder Scheduling
  • Offline Storage with Room
  • Custom Contest Creation

🀝 Contributing

Contributions, suggestions, and feedback are welcome.

If you would like to contribute:

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Open a Pull Request

πŸ‘©β€πŸ’» Author

Komal Singh

Android Developer β€’ Open Source Contributor β€’ Aspiring Generative AI Engineer


πŸ“„ License

This project is licensed under the MIT License.

See the LICENSE file for more information.


⭐ If you find CodeBell useful, consider starring the repository.

About

a contest reminder app that helps developers stay updated with upcoming coding competitions by sending timely alerts and organizing contest schedules from different platforms in one place

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages