Skip to content

A web application designed to host online competitions.

Notifications You must be signed in to change notification settings

Rafisto/competition-website

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ContestHub - A website to host Contests

ContestHub is a web application designed to host online contests. It allows competitors to submit their entries, check problem statements, and participate in organized contests.

Features:

  • User Authentication: Competitors can log in to the platform.
  • Contest Management: Admins can create, edit, and close contests.
  • Problem Statements: Each contest contains a set of problem statements that participants can access. Problem statements may include text descriptions, input/output examples, and constraints.
  • Submission Portal: Competitors can submit their solutions for specific problems within a contest. Submissions are automatically timestamped. Solutions may require uploading files
  • Judging System: Submissions are evaluated based on predefined criteria. Admins can review and assign scores to submissions.
  • Leaderboard: The platform maintains a real-time leaderboard that ranks participants based on their scores.
  • User Profiles: Competitors can view their submission history and stats.

Dev info

Quick Start Guide via Docker Compose

  1. Clone the repistory

    git clone https://github.com/Rafisto/competition-website.git
    cd competition-website
  2. Modify compose.yml:
    2.1. populate production environment variables

    - POSTGRES_PASSWORD=<your_password>
  3. Run the application via docker compose in -d detach mode

    docker compose up -d
  4. Frontend service is available at http://localhost:80

Database Schema using a mind map

drawing

Frontend Showcase - Login Page

drawing