Skip to content

a full stack web app that fetches upcoming and previous coding contests from codeforces, codechef and leetcode

Notifications You must be signed in to change notification settings

vineetbambah/code-calendar

Repository files navigation

Code Calendar

Code Calendar is a Next.js web application for tracking upcoming and past programming contests from Codeforces, CodeChef, and LeetCode. It features contest filtering and bookmarking.

Features

  • View upcoming and past contests from multiple platforms.
  • Filter contests by platform and date range.
  • Bookmark contests for quick access.
  • Responsive UI with dark/light theme toggle.

Getting Started

Prerequisites

  • Node.js (v18+ recommended)
  • npm

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/code-calendar.git
    cd code-calendar
  2. Install dependencies:

    npm install
  3. Set up environment variables:

    Create a .env.local file and add:

    NEXT_PUBLIC_ADMIN_USERNAME=admin
    NEXT_PUBLIC_ADMIN_PASSWORD=password123
    API_CONTESTS_URL=http://localhost:3001/contests
    
  4. Start the backend API server:

    node src/lib/api.mjs
  5. Start the Next.js development server:

    npm run dev
  6. Open http://localhost:3000 in your browser.

Project Structure

  • src/app/ – Next.js app directory (pages, layout, global styles)
  • src/components/ – UI components (contest table, tracker, theme, etc.)
  • src/components/ui/ – Reusable UI primitives (button, card, table, etc.)
  • src/lib/ – Utility functions and API server

API

  • The backend API is implemented in src/lib/api.mjs.
  • Endpoints:
    • /contests – Get all contests.
    • /contests/:platform – Get contests by platform.

Customization

About

a full stack web app that fetches upcoming and previous coding contests from codeforces, codechef and leetcode

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published