Registration, administration and review tool for University of Helsinki's software engineering project course.
-
Make sure you have docker and docker compose installed.
-
Clone this repository to your computer.
-
Run
docker compose upin 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+Cor from other console with commanddocker compose down.
If frontend or backend dependencies change, ie. there is change in frontend or backend package.json file, you need to rebuild containers:
-
Remove dev containers with command
docker compose down -
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.
To modify the currently used user, you can press one of the Role buttons on the Navbar. After that all requests to the backend will made be as an user with the selected role.
-
Switch to frontend folder.
-
Start test setup with command
npm run test-setup. This will create 4 containers:Container Port db 6543 backend 5001 frontend 5000 adminer 9090 -
Run tests with graphic interface with command
npm run testor in headless mode with commandnpm run test:headless. (for headless you can specify the browser (e.g. firefox) withnpm run test:headless -- --browser firefox) -
If you want to restore test setup and the database to their initial stage, just run
npm run test-setupagain. -
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:
| Field | Value |
|---|---|
| System | PostgreSQL (important: otherwise login hangs) |
| Server | db (or test-db when using test environment) |
| Username | postgres |
| Password | postgres |
| Database | postgres |
https://toska-staging.cs.helsinki.fi/projekti/
After a successful staging build, the new version should appear on the staging-server in 15mins.
| user | pwd |
|---|---|
| oppilas1 | oppilas1 |
| oppilas2 | oppilas2 |
| assari | assari |
| opettaja | opettaja |