A work in progress.
- Finalize containerization
- Switch to containerized postgres database
- Code questionnaire
- Code questionnaire results
- Only make questionnaire available between specific dates set by admin
- Allow users without an assigned coalition to always fill in the questionnaire
- Implement Codam's new point system
- Improve Codam's new point system (add custom project point system, rip out Intra's)
- Set up automated points system using Intra webhooks
- Implement Intra's bloc tournament system
- Create basic dashboard
- Create basic graphs
- Create various rankings
- Create tournament history overview with historical wins
- Create dashboard
- Create interface for editing the questionnaire
- Create interface to manually trigger webhooks (manually re-assign automated points)
- Create interface to fetch potentially missed webhooks between specific dates
- Create point history interface where admin can delete, recalculate and synchronize points with Intra
- Create interface to edit automated point system
- Implement method to recalculate already given points
- Create interface for manually assigning custom points
- Create interface for manually assigning points for organizing events
- Implement a way of synchronizing points with Intra
- Implement a way of averaging out the points on Intra too (bot user with minus points for each coalition?)
- Implement a way of syncing existing Intra points including historical ones
- Find a way of blocking Intra's coalitions_user creation
- Re-implement old coalition rank system
If you're a student and want to contribute to this project, talk to the staff about it first to figure out what is possible and discuss implementation ideas.
- Clone the repository
- Fill the
.env
file with the necessary environment variables (don't forget to change the POSTGRES_HOST in the PRISMA_DB_URL variable to localhost) - Run
npm install
to install dependencies - Run
npm run build
to build the project - Start the PostgreSQL database using Docker:
docker-compose -f docker-compose.dev.yml up -d
- Run
npm run start
to start the server and seed the initial database - Optional:
- run
node build/dev/create_quiz_questions.js
to seed the database with initial questionnaire questions - run
node build/dev/create_rankings.js
to seed the database with initial rankings - synchronize some data from Intra using the Webhook Catch-up tool in the Admin interface
- run
- Delete the .sync-timestamp file in the root directory
- Run
npm run build && npm run start
Run node build/dev/create_quiz_questions.js
after running npm run build