Skip to content

yashpreetbathla/CodEngine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CodEngine - Interactive Online Judge Platform

A modern, interactive online judge platform that leverages the CodeChef API to provide a seamless coding experience.

🚀 Features

  • 📱 Responsive and intuitive user interface
  • 🔐 Secure authentication using CodeChef API
  • 🔍 Advanced contest search functionality
  • 📚 Comprehensive problem statements
  • 📝 Integrated code editor with syntax highlighting
  • 🔄 Real-time code execution and output
  • 🏆 Contest participation and problem solving

📁 Project Structure

CodEngine/
├── src/                # Source code directory
│   ├── components/     # React components
│   │   ├── Auth/      # Authentication components
│   │   ├── Contest/   # Contest-related components
│   │   ├── Problem/   # Problem statement components
│   │   └── Editor/    # Code editor components
│   ├── pages/         # Page components
│   │   ├── Home/      # Home page
│   │   ├── Login/     # Login page
│   │   ├── Search/    # Search page
│   │   ├── Contest/   # Contest page
│   │   ├── Problem/   # Problem page
│   │   └── Code/      # Code editor page
│   ├── utils/         # Utility functions
│   ├── styles/        # CSS/SCSS files
│   └── config/        # Configuration files
├── public/            # Public assets
├── server/            # Backend server
│   ├── server.js      # Main server file
│   ├── config/        # Server configuration
│   └── routes/        # API routes
├── firebase/          # Firebase configuration
│   ├── config/        # Firebase config
│   ├── functions/     # Firebase functions
│   └── index.js       # Firebase initialization
├── Images/           # Screenshot assets
│   ├── front-view.png
│   ├── Login-page.png
│   ├── Search-page.png
│   ├── Contest-page.png
│   ├── Problem-page.png
│   ├── Code-page.png
│   ├── Text-editor.png
│   ├── Input-page.png
│   └── Run-page.png
├── package.json       # Project dependencies
├── package-lock.json  # Dependency versions
├── README.md         # Project documentation
└── .gitignore        # Git ignore rules

🏗️ System Architecture

graph TD
    subgraph Frontend
        UI[User Interface]
        Auth[Authentication Module]
        Search[Contest Search Module]
        Display[Problem Display Module]
        Editor[Code Editor Module]
    end

    subgraph Backend
        API[CodeChef API Integration]
        EE[Execution Engine]
        DB[Data Processing]
    end

    subgraph External
        CodeChef[CodeChef API]
        Auth0[Authentication Service]
    end

    %% Frontend Components
    UI --> Auth
    UI --> Search
    UI --> Display
    UI --> Editor

    %% API Integration
    Auth --> API
    Search --> API
    Display --> API
    Editor --> EE

    %% Backend Services
    API --> CodeChef
    API --> Auth0
    EE --> DB
    DB --> Editor

    %% Data Flow
    Auth --> UserAuth[User Authentication]
    Search --> ContestData[Contest Data]
    Display --> ProblemData[Problem Data]
    Editor --> Execution[Code Execution]
    Execution --> Output[Output Processing]

    %% Styling
    classDef frontend fill:#f9f,stroke:#333,stroke-width:2px
    classDef backend fill:#bbf,stroke:#333,stroke-width:2px
    classDef external fill:#bfb,stroke:#333,stroke-width:2px

    class UI,Auth,Search,Display,Editor frontend
    class API,EE,DB backend
    class CodeChef,Auth0 external
Loading

📸 Screenshots

🏠 Home Page

Home Page

🔐 Authentication

Authentication

🔍 Contest Search

Contest Search

📋 Contest Page

Contest Page

📖 Problem Statement

Problem Statement

💻 Code Editor

Code Editor

📝 Text Editor

Text Editor

📥 Input Page

Input Page

🔄 Run Page

Run Page

🛠️ Tech Stack

  • Frontend: React.js
  • Backend: Node.js
  • API: CodeChef API
  • UI Components: Modern CSS/HTML
  • Code Editor: Custom implementation with syntax highlighting

📦 Installation

  1. Clone the repository:
git clone https://github.com/yourusername/CodEngine.git
  1. Install dependencies:
npm install
  1. Set up environment variables:
cp .env.example .env
# Edit .env with your CodeChef API credentials
  1. Start the development server:
npm start

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments


Happy Coding!!!

About

CodEngine is an Online Judge Clone that uses CodeChef’s API and the primary focus is on improving user experience by enhancing UX/UI to make it easier for navigation.

Resources

Stars

11 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors