gabrielmissio / task-manager-api

This is a full Serverless architecture project built using Test-Driven Development (TDD) principles. The API provides a simple and intuitive way to manage your tasks and stay organized.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TASK-MANAGER-API

Restful Nodejs API for easy task management! πŸš€

Overview

Lorem Ipsum is simply dummy text of the printing and typesetting industry.

Stack

Project anatomy

app
 β”” __mocks__                        β†’ Source folder for mock dependencies 
 β”” __test__                         β†’ Source folder for unit, integration and features tests
 β”” .husky                           β†’ Source folder for husky hook scripts
 β”” my-dynamodb-data (generated)     β†’ Dynamodb-Local data
 β”” node_modules (generated)         β†’ NPM dependencies
 β”” src                              β†’ Application sources 
    β”” domain                           β†’ Application services layer
       β”” services                         β†’ Application business rules 
    β”” infra                            β†’ Application infrastructure layer
       β”” db                               β†’ Application data handler
          β”” dynamodb                         β†’ Dynamodb implementation
             β”” factories                        β†’ Adapters between dynamodb data and application entities
             β”” helpers                          β†’ Dynamodb implementation helpers
             β”” migrations                       β†’ Module for creating and removing dynamodb tables
             β”” repositories                     β†’ Operation to put, read and remove data in dynamodb tables
             β”” seeders                          β†’ Module for inserting and removing data in dynamodb tables
       β”” helpers                          β†’ Infrastructure helpers
    β”” main                             β†’ Application main layer
       β”” adapters                         β†’ adpters
       β”” config                           β†’ config
       β”” factories                        β†’ Application component builders
       β”” middlewares                      β†’ middlewares
       β”” routers                          β†’ routes
    β”” presentation                     β†’ Application presentation layer
       β”” controllers                      β†’ Application requests handler
       β”” errors                           β†’ Presentation errors
       β”” helpers                          β†’ Presentation helpers
       β”” validations                      β†’ Request schema validations
    β”” utils                            β†’ Application utils
       β”” enums                            β†’ enums
       β”” errors                           β†’ errors
       β”” helpers                          β†’ helpers
       β”” regular-expressions              β†’ regular expressions
 β”” index.js                         β†’ Application entry point
 β”” ...                              β†’ Other files

Run Locally

Install dependencies

npm install

Initialize in-memory database

npm run start-dynamodb

Run tests

Unit Tests

npm run test-unit

Integration Tests

npm run test-integration

Feature Tests

npm run test-feature

Coverage Test ( performs all the above tests)

npm run test-coverage

Create tables

npm run start-dynamodb-migrations

Run seeders

npm run start-dynamodb-seeders

Start API

npm run start-dev

License

LICENSE

About

This is a full Serverless architecture project built using Test-Driven Development (TDD) principles. The API provides a simple and intuitive way to manage your tasks and stay organized.

License:MIT License


Languages

Language:JavaScript 100.0%Language:Shell 0.0%