-
Project assignment contains all the requirements for the project.
-
Project portal workshop, evaluation, schedule and teams.
- Business Request book (User Stories, Visions, etc.)
- Business Model book (Actors, Use Cases, etc.)
- Application Model book (Route, Schema, etc.)
-
uuSprintMan project management (Backlog, Tasks, etc.)
- TODO additional task from the 1st presentation
-
Case study uuJokes:
- uuJokes - Link to the app
- uuJokes - Business Requests
- uuJokes - Business Model
- uuJokes - Application Model
- Visual Studio Code - https://code.visualstudio.com/Download
- Node.js - https://nodejs.org/en/download
- Git - https://git-scm.com/downloads
- API server tester (GET/POST):
- Insomnia - https://insomnia.rest/download
- Postman - https://www.postman.com/downloads/
- Or use simple testing pages - https://github.com/Neolker/TeamPulse/tree/main/backend/tests
- Command
git clone https://github.com/Neolker/TeamPulse
or by using the GUI in VSCode - Open two terminals, the first for server:
- From the server folder
cd .\backend\
- Command
npm i
installs all necessary packages (Express.js etc.), just start once - Server then run the command
npm start
- Should it then server run on http://localhost:8000
- To stop the server you can then use the keyboard shortcut
CTRL + C
, by typeY
and confirmationENTER
- Rebooting with
npm start
- for example after a change in the server code (don't forget to save!) or you can use thearrow up
in the terminal to scroll through commands from the history
- From the server folder
- In the second terminal we run client:
- Again, we move to the client folder
cd .\frontend\
- Command
npm i
installs all necessary packages (React.js etc.) - Client then run the same
npm run dev
command - Client should start itself in the browser at: http://localhost:5173/
- Exit client then use the same shortcut
CTRL + C
- Again, we move to the client folder
- POST requests pass parameters in JSON format in Body, mostly data from forms
- GET requests pass parameters that are part of the URL (route)
URI | METHOD | INPUT | OUTPUT |
---|---|---|---|
company/create | POST | session , name , description , owner_id |
awid , name , description , owner_id , users[] {id, roles[]} |
company/get | GET | session , awid |
awid , name , description , owner_id , users[] {id, roles[]} |
company/update | POST | session , awid , name , description , owner_id |
awid , name , description , owner_id , users[] {id, roles[]} |
company/view | GET | session |
companies[] {awid, name, description, owner_id, users[] {id, roles[]}} |
company/add-user | GET | session , awid , user_id , roles[] |
awid , name , description , owner_id , users[] {id, roles[]} |
company/delete-user | GET | session , awid , user_id |
awid , name , description , owner_id , users[] {id, roles[]} |
workspace/create | POST | session , awid , name , description , owner_id |
id , awid , name , description , owner_id , members[] {id} |
workspace/get | GET | session , id |
id , awid , name , description , owner_id , members[] {id} |
workspace/update | POST | session , id , name , description , owner_id |
id , awid , name , description , owner_id , members[] {id} |
workspace/delete | POST | session , id |
deleted |
workspace/view | GET | session |
workspaces[] {id, awid, name, description, owner_id, members[] {id}} |
workspace/add-member | GET | session , id , user_id |
id , awid , name , description , owner_id , members[] {id} |
workspace/delete-member | GET | session , id , user_id |
id , awid , name , description , owner_id , members[] {id} |
task/create | POST | session , worspace_id , name , description , solver_id , deadline , status |
worspace_id , id , name , description , solver_id , deadline , status |
task/get | GET | session , id |
worspace_id , id , name , description , solver_id , deadline , status |
task/update | POST | session , id , worspace_id , name , description , solver_id , deadline , status |
worspace_id , id , name , description , solver_id , deadline , status |
task/delete | POST | session , id |
deleted |
task/view | GET | session |
tasks[] {worspace_id, id, name, description, solver_id, deadline, status} |
user/create | POST | session , firstname , lastname , email , password , active , superadmin |
id , firstname , lastname , email , session , password , active , superadmin |
user/get | GET | session , id |
id , firstname , lastname , email , session , password , active , superadmin |
user/update | POST | session , id , firstname , lastname , email , active , superadmin |
id , firstname , lastname , email , session , password , active , superadmin |
user/passwd | POST | session , id , password |
id , firstname , lastname , email , session , password , active , superadmin |
user/view | GET | session |
users[] {id, firstname, lastname, email, session, password, active, superadmin} |
user/login | POST | email , password |
id , firstname , lastname , email , session , password , active , superadmin |
user/logout | POST | session |
logouted |