AI Assessment Tool
April 15, 2024 ยท View on GitHub
Overview
This application is an improvement on the ALTAI tool with some additional features.
Demo
Features ๐คฉ
- Login/Register with JWT token authentication
- Ability to create/update/delete the project
- Ability to add/update/move/delete the card
- Invite user to the project
- Assign a card to the user
- Comment on cards
Requirements
Run the app
First install the MongoDB Compass for better visualization of data with MongoDB server.
- Clone this repo using
git clone git@github.com:AI4Belgium/AI-Assessment-Tool.git - Create .env.local and add those env variables
- Add
MONGODB_URI=mongodb://localhost:27017/altai- you need to have an mongodb running on port 27017
- you can use the one from the docker-compose file (port is 27019 then!!!) or just run one locally with docker
- Add
JWT_SECRET_KEY=<TODO> - Add
SMTP_HOST=<TODO>// create an account on https://ethereal.email/ for a testing SMTP server - Add
SMTP_USER=<TODO> - Add
SMTP_PASS=<TODO> - Add
API_KEY=<TODO>
- Add
Without Docker
- Run
yarn install - Run
yarn dev
With Docker-compose
Install docker on your machine and start it
- Run
docker-compose up
What's next ๐
- Improve styling (responsiveness styling)
- Add Web Accessibility
- Add request validation
- Add database migration handling
Tech stacks
- Nextjs with typescript
- MongoDB for local development
- Mongo Atlas for production DB
- Chakra UI library
Contributing
All contributions are welcome!
License
This project is licensed under the EUPL.
See LICENSE for more information.
Tests
# to run all tests
yarn test
# to run specific tests executed from the base directory
yarn test --rootDir $PWD __tests__/api/projects/index.test.ts "__tests__/api/auth/\[...nextauth\].test.ts"
Run a single file
In order to run a single Typescript file from the project you need to include -r tsconfig-paths/register to have all paths defined in the ts-config.json working.
Otherwise all the @/src/, @/pages/, etc. paths will not work.
The package tsconfig-paths is included in the dev dependencies of the project.
ts-node -r tsconfig-paths/register <my-script>.ts