A sample task management application written in Next.js (Frontend) and Nest.js (Backend)
docker-compose up --build
Docker 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 server
App 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 server
App 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/