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.
- Host: GitHub
- URL: https://github.com/gftf2011/clean-node-login-api-js
- Owner: gftf2011
- License: mit
- Created: 2021-11-06T20:20:56.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2025-07-18T09:42:21.000Z (6 months ago)
- Last Synced: 2025-07-18T13:43:26.482Z (6 months ago)
- Topics: clean-architecture, clean-code, ddd, design-patterns, docker, docker-compose, dockerfile, husky, javascript, jest, lint-staged, mongodb, nodejs, redis, solid, tdd
- Language: JavaScript
- Homepage:
- Size: 3.96 MB
- Stars: 26
- Watchers: 1
- Forks: 5
- Open Issues: 24
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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/)