Skip to content

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.

License

guillaumefalvet/task-management-app-nestjs

Repository files navigation

Nest Logo


TASK-MANAGEMENT-APP-NESTJS

JavaScript Prettier Jest ESLint Passport TypeScript tsnode Docker Markdown JSON

GitHub license git-last-commit GitHub commit activity GitHub top language

Overview

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.

Features

  • 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.

Setup

OPTION 1 : Running the application locally

  1. 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

OPTION 2 : Running the application using docker

# build the image
$ docker compose build

# run the db detached
$ docker compose up -d db

# run the containers

$ docker compose up nestapp

Usage

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.

Migrations & Seeding

Migrations

# 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

Seeding

# run the seedings & factories
$ npm run seed:run

# create seeding file
$ npm run seed:create --name=NameOfTheSeeding

Support

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.

License

Nest is MIT licensed.

About

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.

Resources

License

Stars

Watchers

Forks