This application will authenticate and register attendants at general assemblies for the groups in NTNUI. The application will also provide a voting system.
This includes the main general assembly for NTNUI as a whole, and other group specific general assemblies.
The assemblies and voting is organized by the organizers/main board at the given group.
Role | Voting | Check in |
---|---|---|
Organizer | Add votation, see result and vote | Check users in/out by scanning qr-codes. Access to voting system if qr-code is scanned |
Group Member | Vote | Access to voting system if qr-code is scanned |
* An Organizer is a board member of the given group. The main board is allowed to create a general assembly for NTNUI as a whole.
This project is using the NTNUI API, in combination with NTNUI TOOLS to manage user permissions (group memberships and membership type). Application specific data is stored in the MongoDB database.
Install all dependencies (Run first):
npm run install:all
Initialize and start a local MongoDB:
(Requires docker installed on machine)
npm run db
Delete/stop MongoDB:
npm run stop-db
Start frontend (dev):
npm run frontend
Start backend (dev):
(Requires MongoDB to be up and running)
npm run backend
Check prettier:
npm run prettier:check
Auto format whole project with prettier:
npm run prettier:format
ESlint check:
npm run lint
Backend tests run:
npm run test:backend
Frontend unit tests run:
npm run test:frontend
End-to-end tests run:
npm run e2e