Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nkosi-tauro/task-manager

A Task Management backend application that allows authenticated users to Create, Update & Delete Tasks.
https://github.com/nkosi-tauro/task-manager

docker-compose fastify mysql nodejs sequelize typescript

Last synced: about 1 month ago
JSON representation

A Task Management backend application that allows authenticated users to Create, Update & Delete Tasks.

Awesome Lists containing this project

README

        


Task Manager

 


Task Manager


Github top language

Github language count

Repository size

License

[![JavaScript Style Guide](https://cdn.rawgit.com/standard/standard/master/badge.svg)](https://github.com/standard/standard)



About   |  
Features   |  
Technologies   |  
Requirements   |  
Starting   |  
License   |  
Author


## :dart: About ##

A Task Management backend application that allows authenticated users to Create, Update & Delete Tasks.

## :sparkles: Features ##

:heavy_check_mark: User Authentication with [fastify/jwt](https://github.com/fastify/fastify-jwt);\
:heavy_check_mark: CRUD Tasks;\
:heavy_check_mark: Filter & Sort Tasks;\
:heavy_check_mark: Add Labels To Tasks;

## :rocket: Technologies ##

The following tools were used in this project:

- [Fastify](https://fastify.dev/)
- [Sequelize ORM](https://sequelize.org/)
- [Node.js](https://nodejs.org/en/)
- [Docker Compose](https://docs.docker.com/compose/)
- [MySQL](https://www.mysql.com/)
- [TypeScript](https://www.typescriptlang.org/)

## :white_check_mark: Requirements ##

Before starting :checkered_flag:, you need to have [Git](https://git-scm.com), [Node](https://nodejs.org/en/) and [Docker](https://docs.docker.com) installed.

## :checkered_flag: Starting ##

### .env
```bash

#root directory .env values
DB_USER=jellyman
DB_PASSWORD=jellyman
DB_NAME=task_manager

#backend directory .env values
DB_HOST=localhost
DB_PORT=3306
DB_USER=jellyman
DB_PASSWORD=jellyman
DB_NAME=task_manager
JWT_SECRET=verysecretsecret
```

```bash
# Clone this project
$ git clone https://github.com/nkosi-tauro/task-manager

# Access
$ cd task-manager

# Create a .env file for both the root and backend directories
$ See .env section above

# Install dependencies & Run project
$ docker compose up

# Test the project Endpoints
$ See Postman Section below

# The server will initialize on
```

### Postman

Download the Postman Collection and Import it.
Download Collection
Or View the "Munch Backend.postman_collection.json" file in the root directory.

### Testing

After setting up the Project:
To Run Tests you can startup just the database or else the ports will conflict.

```bash
# (Only do this if you want to run tests)

# Database Startup
$ docker compose up db

# Access
$ cd backend

# install packages
$ npm i

# run tests
$ npm test
```

## :memo: License ##

This project is under license from MIT. For more details, see the [LICENSE](LICENSE.md) file.

Made with :heart: by Nkosilathi Tauro

 

Back to top