A sample task management application written in Next.js (Frontend) and Nest.js (Backend)
docker-compose up --buildDocker Compose will start backend, frontend, database, and reverse proxy.
The app will be available on localhost:8080. Frontend is mounted on /, and API is mounted on /api/.
The UI component sink page is available at /sink
Prerequisites: Node.js >= 10, npm >= 6
cd frontend
npm ci # install from package-lock.json
npm run dev # start the dev serverApp will be available on localhost:3000
The UI component sink page is available at /sink
cd backend
npm ci # install from package-lock.json
npm run start:dev # start the dev serverApp will be available on localhost:3005
For both projects
npm run test/fronted- contains code for the frontend/backend- contains code for the backend/proxy- contains Nginx reverse proxy configuration
POST /auth/register- create and register a userPOST /auth/login- generate a JWT based on email and passwordGET /users- get a list of all usersGET /users/:id- get a specific userPUT /users/:id- update a user (admins only)GET /users/me- get currently logged in userPUT /users/me- update currently logged in userGET /tasks- get a list of all tasksPOST /tasks- create a new taskGET /tasks/:taskId- get a taskPUT /tasks/:taskId- update a taskPOST /tasks/:taskId/archive- archive a task (admins only)PUT /tasks/:taskId/assignees/:assigneeId- add assignee to taskDELETE /tasks/:taskId/assignees/:assigneeId- remove assignee from taskGET /tasks/:taskId/comments- get a list of all comments for the taskPOST /tasks/:taskId/comments- create a comment for the taskPUT /tasks/:taskId/comments/:commentId- update a commentDELETE /tasks/:taskId/comments/:commentId- delete a comment (admins only)
- Write backend API mock
- Write tests for the API
- Link API to a DB
- Write frontend in React [WIP]
- Write tests for frontend
- Write OpenAPI docs
- Write remaining tests for the API
- Write a sample app that showcases my skills as Full Stack JavaScript Software Engineer.
- Experiment with Next.js and Nest.js
You can find some of my other projects here: https://github.com/ethericlab
Feel free to reach me at: https://www.linkedin.com/in/nikita-kurpas/

