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

https://github.com/gftf2011/clean-node-login-api-js

NodeJS AUTH server built with TDD and DDD along with Clean Architecture.
https://github.com/gftf2011/clean-node-login-api-js

clean-architecture clean-code ddd design-patterns docker docker-compose dockerfile husky javascript jest lint-staged mongodb nodejs redis solid tdd

Last synced: 3 months ago
JSON representation

NodeJS AUTH server built with TDD and DDD along with Clean Architecture.

Awesome Lists containing this project

README

          


Clean Node Login Api













About
Supported OS
Design Patterns
Required Tools
Running Project
Running Tests
Running Swagger
License





## :page_facing_up: About

This a authentication API developed in pure Vanilla Javascript.

The objective from this project is to show how to create an API with a well-defined and decoupled architecture, using T.D.D. - (Test Driven Development) as a work methodology, building along with the Clean Architecture concept, dividing the layers responsibility !


## :hammer_and_wrench: Supported OS

- [x] Mac OS
- [x] Linux
- [ ] Windows


## :large_blue_diamond: Design Patterns

- Abstract Factory
- Factory Method
- Adapter
- Composition Root
- Builder
- Singleton


## :clipboard: Required Tools

- [x] Node - [https://nodejs.org/](https://nodejs.org/)
- Node version: 16.x.x
- npm version: 8.x.x
- [x] Yarn - [https://yarnpkg.com/](https://yarnpkg.com/)
- Yarn version: 1.22.5
- [x] Snyk - [https://snyk.io/](https://snyk.io/)
- [x] Husky - [https://typicode.github.io/](https://typicode.github.io/)
- [x] Docker - [https://www.docker.com/](https://www.docker.com/)


## :racing_car: Running Project

1. Clone Repository
```sh
$ git clone https://github.com/gftf2011/clean-node-login-api-js.git
```
2. Install dependencies
```sh
################################################################################
# YARN usage is recommended, or use the "npm install" to install dependencies. #
################################################################################
$ yarn
```
3. Use command below to run development environment
```sh
$ yarn docker:dev:run
```

### OBS.: Ensure to install all dependencies in Required Tools


## :test_tube: Running Tests
```sh
$ yarn docker:test:run
```


## :file_cabinet: Running Swagger

1. Run command below
```sh
$ yarn docs
```
2. Access the url - *localhost:3334/api-docs*


## :memo: License

This project is under MIT license. See the [LICENSE](https://github.com/gftf2011/clean-node-login-api-js/blob/main/LICENSE) file for more details.

---

Made with lots of :heart: by [Gabriel Ferrari Tarallo Ferraz](https://www.linkedin.com/in/gabriel-ferrari-tarallo-ferraz-7a4218135/)