How to Run

πŸ“¦ Requirements

  • .NET SDK: .NET 9.0 SDK installed

  • Node.js & npm: Node.js β‰₯16 with npm

  • Database: Microsoft SQL Server (local or cloud)

  • Docker (optional): Docker Engine & Docker Compose installed

πŸ” API Keys

πŸ’» OneCompiler (for code execution)

OneCompiler is used to run code against test cases in problem-solving questions.

To obtain a free API key:

  1. Sign up for a free account at RapidAPI

  2. Copy your API key from the X-RapidAPI-Key section

πŸ€– Gemini (for AI interaction)

Gemini is used to power AI-based features in the platform.

To obtain a free API key:

  1. Generate and copy your Gemini API key

πŸ“§ Gmail SMTP

To use Gmail's SMTP server, you need to create an App Password because Gmail requires 2-Step Verification for enhanced security.

To generate an App Password:

  1. Enable 2-step verification on your Google account

  2. Generate the 16-character app password from app password

⚠️ Important: Use this App Password instead of your regular Gmail password when configuring SMTP settings.

πŸ› οΈ Steps to Run

πŸš€ Run Locally

  1. Clone the repository

git clone https://github.com/Learnathon-By-Geeky-Solutions/elite-programmers.git
cd elite-programmers

πŸ”₯Clone the latest version

git clone https://github.com/Raofin/TrueTest.git
cd TrueTest
  1. Configure

    1. Backend

      Use the following Commands to store the credentials in user secrets πŸ‘‡

      cd src/api/ops.api
      dotnet user-secrets set "EmailSettings:Email" ""
      dotnet user-secrets set "EmailSettings:Password" ""
      dotnet user-secrets set "OneCompilerSettings:ApiKey" ""
      dotnet user-secrets set "GoogleCloudSettings:FolderId" ""
      dotnet user-secrets set "GeminiSettings:ApiKey" ""
    2. Frontend

      cp .env.example .env.local
  2. Build & Run

    1. Backend

      dotnet restore
      dotnet run

      βœ… The project is configured to automatically apply migrations with some seed data on its first run in the default connection string. So you do not need to manually apply them.

    2. Frontend

      cd src/client
      npm run build
      npm start

🐳 Run with Docker

  1. Open the docker-compose.yml and under environment section, fill in the required values.

  2. Build & start containers

    docker-compose up --build
  3. Access:

    1. Frontend: https://localhost:9999

    2. Backend: https://localhost:9998

    3. Database: http://localhost:6666

Last updated