The website is available here.
Uncle Bob's clean architecture implementation in nodejs/express/mongoose
Angular 8 application built in the lazy loading architecture
Features
- lazy-loading of admin and feature modules
- lazy reducers
- localStorage ui state persistence
@ngrx/effects
for API requests- fully responsive design
- angular-material and custom components in
SharedModule
Stack
- Angular
- NgRx
- RxJS
- Angular Material
- Bootstrap 4
The backend
git clone
cd mean-stack-web-app
npm i
Save .env.sample
as .env
and then add your database and other variables
Usually this is just: mongod
on the command line. Or use MongoDB Compass
To run in development mode where code is run by babel-node via nodemon and re-transpiled any time there is a change:
npm run dev
To run in production mode where code is transpiled by Babel into a dist
folder and run directly in node
:
npm run prod
npm run test:e2e
- runs e2e test and opens chrome to run testsnpm run cover:unit:nyc
- runs unit tests and uses Istanbul as a code coverage reporternpm run cover:unit:mocha
- runs unit tests and uses mochawesome as a custom reporternpm run test:integration
- runs integration tests for the backendnpm run test:integration:watch
- runs integration tests in watch mode
The frontend
git clone
cd client-side
npm i
npm run start
npm run build
Documentation available here
The code coverage available here
Integration tests report available here
The code coverage available here
Unit tests report available here
E2E tests report available here
E2E tests live demo here
Lighthouse Report available here