Registration, administration and review tool for University of Helsinki's software engineering project course.
Make sure you have docker, docker-compose and nvm installed.
Clone this repository to your computer.
Run nvm use && npm i
in both in backend and frontend folders.
nvm install
and then try again.Run docker compose up
in any folder inside cloned repository to start development containers.
It will start 4 containers:
Container | Port |
---|---|
db | 5432 |
backend | 3001 |
frontend | 3000 |
adminer | 8083 |
When you are done, close containers from the active console with shortcut CTRL+C
or from other console with command docker compose down
.
If frontend or backend dependencies change, ie. there is change in frontend or backend package.json file, you need to install dependencies again locally and rebuild containers:
Remove dev containers with command docker compose down
Run nvm use && npm i
in frontend or backend folder or in both if both has had changes for dependencies.
Rebuild dev containers with docker compose up --build
Remove containers and volumes related with command docker compose down --volumes
Restart dev setup with docker compose up
In development environment, login is faked in backend using fakeshibbo middleware. You can run software in different user roles by modifying faceshibbo in ./backend/middleware.js file.
Modify line const test_user = test_users.student
to correspond user role desired (student, instructor, or admin). Changes take effect immediately when you save your changes and reload the page.
Switch to frontend folder.
Start test setup with command npm run test-setup
. This will create 3 containers inside project ohtuilmo-local-test:
Container | Port |
---|---|
db | - |
backend | - |
frontend | 3002 |
Run tests with graphic interface with command npm run test
or in headless mode with command npm run test:headless
.
If you want to restore test setup and the database to their initial stage, just run npm run test-setup
again.
When you are done, you can remove containers and all related resources with command npm run test-setup:down
Development setup includes database management tool called Adminer. With Adminer, you can easily inspect and modify database by using your browser. When development containers are running, navigate to http://localhost:8083/ and sign in with following info: