Document generator tool to facilitate internal document process in ESC organization (especially for secretary).
- Generate document from template
- Generate document from .toml file
- Fetch data from a database
- (1) Location Permit
- (0) Project Proposal
- (3) Sponsorship Request
- (6) Event Report
- (7) Financial Report
- (8) Money Request
- (AT) Attendance List
Make sure you have Node.js and pnpm installed.
- Clone this repository
git clone https://github.com/esc-chula/esc-project-tracker.git- Install dependencies
pnpm install-
Create .env and paste the env in /api and /web folder
-
Create database (Migration will automatically be done when the app start up. (TypeORM
synchronize: true))
docker run -d --name postgres-admin -e POSTGRES_USER=admin -e POSTGRES_PASSWORD='AdminPass123!' -e POSTGRES_DB=admin_db -p 5432:5432 -v postgres_data:/var/lib/postgresql/data postgres:17- Run the app at /api for backend, /web for frontend, or root for both at the same time make sure that you are not connected to ChulaWiFi
turbo devFor local development without Intania Auth, set these variables in ALL THREE ENV FILES
DEV_MODE=true
DEV_MODE_ROLE=admin # Options: admin | esc | student
JWT_SECRET=secretWhen you're in this mode, Intania Auth is bypassed. Real JWT are generated, but no data is stored in DB.
Logging out have not been implemented yet for mock auth.
- Run this command at /api for backend, /web for frontend, or root for both at the same time
turbo build- If built successfully, re-install dependencies at root folder
pnpm install --forceIf your IDE give you red squiggly line on import ... from '@repo/shared';:
Solution:
Run this command at the repo root.
cd packages/shared
pnpm buildAlternatively, rebuild all packages.
turbo build