The system is made up of four major parts, all working together:
- Frontend (React) — What students and teachers interact with
- Backend API (Go) — The main brain and controller of all data
- Judge System (Rust) — Securely runs and grades submitted code
- Infrastructure (PostgreSQL, Redis, Docker, OS) — The foundation holding it all together
Note
Start downloading the tools belows:
- Docker - Important !
Run docker-compose up to start all componants at once without needing to install anything else. Don't forget to have your .env file set up by removing or adding a new file .env with the right fields.
Warning
You may need to install WSL on windows to enable hot reloading
To start Node.js server independently:
cd ./frontend
npm run dev- Python
- Rust
- Csharp
- C
- Cpp
- Javascript
- Typescript
- Go
- Java
- Swift
- Set project template and clear roadmaps
- Create API documentation
- Set up CI/CD pipeline
- Basic backend prototype
- Add backend primary functionalitty in
Go - Add Submit judge in
Rust&Docker - Add database integration with
Postgres - Add core frontend features
- Implement user authentication system
- Polishing project
- Real-time collaboration features
- Third-party integrations
- On premise server integrations
- Scale the project more schools and colleges.
Made with love for YAPP - Yet Another P2IP Project or Yet Another Programming Platform...