A web application that shows upcoming and ongoing programming contests from popular platforms like Codeforces, CodeChef, and AtCoder. Quickly see which contests are happening, their start times, durations, and direct links to participate.
The project is hosted on Render, so you can view it: Website
- Upcoming Contests – See contests that will start in the future.
- Ongoing Contests – Keep track of contests currently running.
- Platform Filters – Filter contests by Codeforces, CodeChef, or AtCoder.
- Contest Details – Name, start time, duration, and a link to the contest.
- Responsive Design – Works on both desktop and mobile devices.
- Live Updates – Fetches contest data directly from official APIs and public endpoints.
The backend fetches contests from:
- Codeforces API – https://codeforces.com/apiHelp
- CodeChef API – https://www.codechef.com/api/list/contests/all
- AtCoder JSON Endpoint – (Ongoing...)
The FastAPI backend provides a /contests endpoint that serves the contest data.
The frontend fetches this data and displays it with filters, sections for ongoing/upcoming contests, and a clean, responsive layout.
Check out the live website here:
https://cpcontests.onrender.com
- Python 3.10+
pippackage manager
# 1. Clone the repository
git clone https://github.com/yourusername/ContestsTimings.git
cd ContestsTimings
# 2. Create a virtual environment
python3 -m venv venv
source venv/bin/activate
# 3. Install dependencies
pip install -r requirements.txt
# 4. Start the FastAPI server
uvicorn api:app --reload
# 5. Open the frontend
# Navigate to http://127.0.0.1:8000 in your browser# 1. Clone the repository
git clone https://github.com/yourusername/ContestsTimings.git
cd ContestsTimings
# 2. Create a virtual environment
python -m venv venv
venv\Scripts\activate
# 3. Install dependencies
pip install -r requirements.txt
# 4. Start the FastAPI server
uvicorn api:app --reload
# 5. Open the frontend
# Navigate to http://127.0.0.1:8000 in your browserContestsTimings/
│
├─ api.py # FastAPI backend serving /contests API
├─ fetcher.py # Functions to fetch contests from Codeforces, CodeChef, AtCoder
├─ frontend/ # Frontend files
│ └─ index.html
├─ requirements.txt # Python dependencies
└─ README.md # This fileInstall dependencies with:
pip install -r requirements.txt- Hosted on Render. Free plan has a ~15 minute idle timeout if not accessed.
- Designed for educational and personal use to track programming contests efficiently.