Skip to content

A Next.js web application that aggregates competitive programming contests from platforms like Codeforces, CodeChef, and LeetCode. Users can explore upcoming and past contests, filter by platform, bookmark favorites, and access solution links for completed contests.

Notifications You must be signed in to change notification settings

yuvrajnode/Contest-tracker

Repository files navigation

Documentation

Contest Tracker Application

This is a NextJs stack application that tracks competitive programming contests from Codeforces, CodeChef, and LeetCode. The application allows users to view upcoming and past contests, filter contests by platform, bookmark contests, and view solution links for past contests.

Features

  1. Contest Tracking

  2. Fetches and displays upcoming contests from Codeforces, CodeChef, and LeetCode

  3. Shows contest date, time, and duration

  4. Displays time remaining before contest starts

  5. Filtering

  6. Filter contests by platform (Codeforces, CodeChef, LeetCode)

  7. Toggle between upcoming and past contests

  8. View bookmarked contests only

  9. Bookmarking

  10. Bookmark contests for easy access

  11. Bookmarks are stored in localStorage

  12. Solution Links

  13. View YouTube solution links for past contests

  14. Admin interface to add solution links manually

  15. Automatic fetching of solution links from YouTube channels

  16. UI/UX

  17. Responsive design for mobile, tablet, and desktop

  18. Light and dark mode with toggle

  19. Clean and intuitive interface

Tech Stack

Frontend:

  • React with TypeScript
  • Next.js App Router
  • Tailwind CSS for styling
  • shadcn/ui components
  • date-fns for date formatting
  • Lucide React for icons

Backend:

-NextJs routes for backend

Project Structure

Frontend:

  • app/page.tsx - Main page component
  • app/admin/page.tsx - Admin interface for adding solution links
  • components/ - Reusable UI components
  • lib/api.ts - API client for backend communication
  • types/contest.ts - TypeScript types and interfaces

Backend:

  • bookmarks/route.ts - Bookmarking Backend
  • contests/route.ts - For fetching the contest from postgres database
  • contests/updates/route.ts - For fetching the updates
  • solutions/route.ts - For fething the solution youtube urls

About

A Next.js web application that aggregates competitive programming contests from platforms like Codeforces, CodeChef, and LeetCode. Users can explore upcoming and past contests, filter by platform, bookmark favorites, and access solution links for completed contests.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published