This is a simple Task Management App built with NestJS, a powerful Node.js framework. It allows you to manage and organize your tasks efficiently. Whether you're a developer looking for a reference project or someone in need of a task management solution, this app can be a great starting point.
- Create, read, update, and delete tasks.
- User authentication and authorization.
- Secure password hashing.
- User registration and login.
- JSON Web Tokens (JWT) for user sessions.
- RESTful API with Swagger documentation.
- WebSocket API with AsyncAPI documentation.
- Database migrations to manage changes to your database schema over time. You can create, run, and revert migrations.
- Database seeding to populate initial data.
- Minimalistic and easy-to-understand codebase, perfect for learning.
- Create a psql database called
task-management
$ npm install
# development
$ npm run start
# watch mode
$ npm run start:dev
# production mode
$ npm run start:prod
# build the image
$ docker compose build
# run the db detached
$ docker compose up -d db
# run the containers
$ docker compose up nestapp
OpenAPI
- When you start the application you will see in the chatlog a mention of
OpenAPIDocumentationBuilder
, open the link that it points to. You will arrive on an online interface to rest each routes.
Rest Client
- Download the vscode extension
Rest Client
(humao.rest-client) - Open the
rest.http
at root of the repository.
# run the migrations
$ npm run typeorm:run-migrations
# revert the migrations
$ npm run typeorm:revert-migrations
# create a migrations
$ npm run typeorm:create-migrations --name=NameOfTheMigrations
# run the seedings & factories
$ npm run seed:run
# create seeding file
$ npm run seed:create --name=NameOfTheSeeding
Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please read more here.
Nest is MIT licensed.