Summary
Codebase is hosted on Gitlab. The project development is set up with docker. However, client development is only required by Node16.
Codebase
README
This repository contains the source code for the Code Studio platform and its corresponding API service. These two services will operate in conjunction with the Django student information website, and will together form an ecosystem of CSEducation.Quick start
- In order to start the services in this repository, you need to have Docker installed in your machine.
- Once you have Docker installed, you can start all three services in you local machine by running docker-compose -f docker-compose-dev.yml up —build.
- When you download and import a new package, run docker-compose -f docker-compose-dev.yml down before the command in step 2. This will ensure that all the old containers are rebuilt.
- After you merge you code in to the master branch, the gitlab CICD pipeline will be activated through the .gitlab-ci.yml file. It will use the Dockerfile of each service to build production images and push them to Docker Hub. Once the images are pushed to Docker Hub, gitlab will send the the docker-compose.yml file to AWS Elasticbeanstalk to integrate the changes with the live application.
What’s in this repo?
Here is a quick overview of the major landmarks:
- Client: React application for student to do exercises
- Server: Nodejs API to host exercises’ metadata
- Nginx: Router to direct traffic between two services inside the machine.
Each service has their own documentation under their folders (README.md files).
Everything else
Commands
Start all three services
docker-compose -f docker-compose-dev.yml up --buildWhen you download and import a new package, run before the command in step 2
docker-compose -f docker-compose-dev.yml down
Tasks overview and important notes
Bugs Scope
- Grading bugs, Implementation bugs: G-level exercises
- UI/Code bugs: All levels
Notes
Working Node version: 16
Branching Strategy
- style/description
- feat/feature-description
- fix/bug-description
- release/description
- generic/description
Commit Rules
- feat: new feature description
- style: update styles
- fix: fixed a bug
- refactor: existing code refactored
- chore: for everything else
Meeting Availabilities
- Wednesday
- Saturday
- Sunday