Skip to content

code-with-nabeel/QCONTEST---Coding-Contest-Management-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QCONTEST - Coding Contest Management System

Overview

QCONTEST is a backend system built using Core Java that simulates a coding contest platform similar to CodeChef or LeetCode. It allows users to create contests, participate, solve questions, and view leaderboards.

The project follows clean architecture principles and uses the Command Design Pattern to handle different operations.


Features

  • 👤 User Management (Create Users)
  • 🏆 Contest Creation & Management
  • 🙋 Participate / Withdraw from Contests
  • ❓ Question Management with Difficulty Levels
  • 📊 Leaderboard Ranking System
  • 🧩 Command Pattern Implementation
  • 🧪 Unit Testing with JUnit

Tech Stack

  • Language: Java (Core Java)
  • Build Tool: Gradle
  • Architecture: Layered Architecture
  • Design Pattern: Command Pattern
  • Testing: JUnit

📂 Project Structure

src/
 ├── main/java/com/crio/qcontest/
 │    ├── commands/        # Command Pattern classes
 │    ├── entities/        # Models (User, Contest, Question)
 │    ├── repositories/    # Data storage layer
 │    ├── services/        # Business logic
 │    └── App.java         # Entry point
 │
 ├── test/java/com/crio/qcontest/
 │    ├── commands/        # Command tests
 │    └── services/        # Service tests

⚙️ How to Run

1. Clone the repository

git clone https://github.com/code-with-nabeel/qcontest-backend.git

2. Navigate to project

cd qcontest-backend

3. Build project

./gradlew build

4. Run application

./gradlew run

📊 Key Learnings

  • Implemented Command Design Pattern for scalable operations
  • Designed modular backend architecture using Core Java
  • Built contest logic including participation and leaderboard ranking
  • Wrote unit tests for services and commands

🎯 Future Improvements

  • Convert into Spring Boot REST API
  • Add database (MySQL/PostgreSQL)
  • Add authentication (JWT)
  • Add web UI (React)

👨‍💻 Author

Nabeel Khan GitHub: https://github.com/code-with-nabeel


⭐ Support

If you like this project, give it a ⭐ on GitHub!

About

Core Java backend system simulating a coding contest platform with contest management, user participation, and leaderboard ranking using Command Design Pattern.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages