Formula Student Korea Service Hub
Read GUIDE.md for usage guide.
| Service | Description | Port |
|---|---|---|
| landing | Landing page & Caddy reverse proxy | 9000 |
| auth | Authentication & user management | 9100 |
| entry | Vehicle entry registration | 9200 |
| queue | Inspection queue management | 9300 |
| inspection | Inspection sheet management | 9400 |
| traffic | Traffic controller, telemetry & event mode management | 9500 |
| score | Score aggregation, penalty/scoring config & management | 9600 |
| documents | Document submission management | 9700 |
| energymeter | Energy meter data viewer | 9800 |
| Email/SMS management & Brevo integration | 9900 | |
| course | Course cone management with RTK GPS rover | 10000 |
| calendar | Competition schedule management | 11000 |
| files | Cloud file storage (chief+ only) | 8080 |
Google OAuth 2.0 + JWT cookie-based authentication.
| Role | Level | Access |
|---|---|---|
| Admin | 4 | All services |
| Chief | 3 | Document management, file storage, etc. |
| Official | 2 | Queue management, inspection sheets, etc. |
| Student | 1 | Document submission, etc. |
- Podman & Podman Compose (or Docker & Docker Compose)
- Google OAuth 2.0 credentials (Client ID & Secret)
-
Copy the example environment file and fill in the values:
cp .env.example .env
-
Configure the required environment variables in
.env- Note: Google OAuth redirect URI should be set to
{PUBLIC_URL}/auth/api/callback.
- Note: Google OAuth redirect URI should be set to
Set DOMAIN_NAME in .env file.
make deploy # Pull images + deploy
make deploy SVC=traffic # Pull specific service + deploy
make build # Build locally (dev)
make build SVC=traffic # Build specific service locally
make restart # Restart only (no pull/build)make deploy PROFILE=local # Pull images + deploy
make deploy PROFILE=local SVC=traffic # Pull specific service + deployAvailable at http://localhost:9000.
npm test # Run all tests
npm run test:auth # Auth service only (etc.)E2E tests run only in CI on push to main.