Skip to content

jojo2504/yapp

Repository files navigation

YAPP

Yet Another Programming Platform

Go Rust DockerReact Vite TypeScriptPostgres Redis

How does it works ?

The system is made up of four major parts, all working together:

  1. Frontend (React) — What students and teachers interact with
  2. Backend API (Go) — The main brain and controller of all data
  3. Judge System (Rust) — Securely runs and grades submitted code
  4. Infrastructure (PostgreSQL, Redis, Docker, OS) — The foundation holding it all together

Getting Started

Start downloading the tools belows:

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

Implemented Languages

  • Python
  • Rust
  • Csharp
  • C
  • Cpp
  • Javascript
  • Typescript
  • Go
  • Java
  • Swift

Roadmap

Q4 2025

  • Set project template and clear roadmaps
  • Create API documentation
  • Set up CI/CD pipeline
  • Basic backend prototype

Q1 2026

  • 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

Q2 2026

  • Polishing project
  • Real-time collaboration features
  • Third-party integrations
  • On premise server integrations

Future Considerations

  • Scale the project more schools and colleges.

Made with love for YAPP - Yet Another P2IP Project or Yet Another Programming Platform...