nodejs-api-showcase

A Node.js App Architecture showcase heavily influenced by the Clean Architecture and Hexagonal Architecture, using MongoDB.

nodejsjavascriptdockerboilerplateexpresstypescriptmongodbtravis-cicontinuous-integrationdocker-composeclusteringdependency-injection
FreeRepo

Preview

nodejs-api-showcase preview

Overview

This is a Node.js boilerplate for building server applications with Express, MongoDB and Mongoose. It demonstrates clean layered architecture with separation of concerns across data, domain and controller layers, includes a complete authentication system using JSON Web Tokens and bcrypt password hashing and provides a foundation for starting new projects with built-in dependency injection, repository patterns and comprehensive test coverage using Mocha and Chai.

Features

authenticationjwt-tokensuser-managementposts-apipaginationinput-validationpassword-hashingredis-cachingswagger-docsdependency-injectionclean-architecturehexagonal-architecturelayered-architecturerepository-pattern

Feature Flags

authenticationblogemailsecommerceauthorizationloggingErrorTrackingapiDocscachingmapsformsValidation

Recommended Use Cases

learning-clean-architectureapi-developmentnodejs-projectsauthentication-systemsarchitecture-reference

Frontend

None

Backend

nodejsexpressmongoosemongodbredisbcryptjsonwebtoken

Auth Providers

auth0jwt

Deployment Targets

docker

Payment Providers

None

Quick Facts

โญ Stars
261
๐Ÿด Forks
40
๐Ÿ”„ Active
Unknown
๐Ÿ•’ Last Commit
2022-04-10T17:03:50.000Z

Stack

Framework
express
Language
javascript
Database
mongodb
ORM
mongoose
Testing
mocha, chai, sinon, supertest
Logging
winston, express-winston
CI
travis-ci

Data Layer

Databases
mongodb, redis
ORM
mongoose

UI Stack

Developer Experience

Docker
Yes
Tests
Yes
Quickstart
Yes
env.example
Yes
CI
travis-ci

Pricing

Classification
free
Selected
โ€”
Notes
Open source repository
Get Started with this Boilerplate