Skip to content

EdgeCrafters/ejp-be

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EJP-BE: Edged Judger Platform Backend Server 🍎

EJS-Be is a nestJs-based backend server that enables EJP ecosystem. In order for EJS-S and EJS-T to function properly, instructors need to deploy this server in the environment of their choice. EJS-Be operates within a Docker Engine-based container environment.

Table of Contents

Highlights 🌟

  • Container Based: As long as Docker is installed, the server can be run in any environment..
  • User adminstration System: Granting permissions to users for repositories and problems ensures that only users with those specific permissions can access them.

Getting Started 📚

Prerequisites

  • Requires Docker Engine installed

Installation

  1. Clone the EJP-Be repository.
    git clone https://github.com/EdgeCrafters/ejp-be.git
  2. Navigate to the cloned directory and build ejs-be image.
    cd ejp-be && git checkout ejp-deploy # (use deploy branch)
    docker-compose -f docker-compose.prod.yml build

Usage

  1. run docker-compose container
    docker-compose -f docker-compose.prod.yml up -d

default tutor authentication id: tutor01 password: 1234

default student authentication id: student01 password: 1234

Contributing 🤝

We welcome contributions from the community! Feel free to fork the repository, make your changes, and submit a pull request. For more details, check out our contribution guidelines.

License 📄

EJP-Be is part of the EJP project and follows the same MIT license.

HowitWorks

EJP-Be is composed of a total of four containers. EJP-Be, EJP-Minio, and EJP-db communicate through a dedicated container network established using docker-compose.

  1. EJP-be

  2. EJP-db EJP-db serves as a PostgreSQL-based database that stores user information, user repository details, and metadata information about problems and repositories.

  3. EJP-minio

  4. EJP-minio-mc