this is mono repo app developed with 2 micro services nest apps and 3 angular front end modules
building with AWS Serveless Application model (SAM)
This project was generated using Nx.
graph of my monorepo libs + apps
🔎 my main artitecture approach is seprating each app to 2 dedicated domains
- application structure
- ☁project consist of 2 apps
- 🔵FrontEnd app (admin-portal)
- Angular 13 + Matrial UI
- create material ui core module as nx lib
- using jest for unit , integration tests
- using cypress for e2e tests
- create auth feature module as nx lib + NgRx store
- 2 lazy loading Ng module (student, reporting)
- global interceptor services for 1-error handeling 2-alert response 3- loadin spinner
- 🔵Backend app (api)
- nestJs + typeOrm
- consist of 2 dedicated modules(crud service/reporting service)
- 🔎[swagger documentation](https://neduk.herokuapp.com/api).
- repository: Postgres DB [PostgreSQL as a Service](http://www.elephantsql.com)
- TypeOrm ; use features like relations, cascade,eager, viewEntity, transactionManager,..
- 🔵Heroku connectted to github for CI/CD
- each app has its own Dockerfile
- root docker-compose file to orchestarate all
- 🔎[build version](https://neduk.herokuapp.com/) to auto deploy app.
- snapshot of heroku dashboard (building last commits to main branch)
• ✅Use a 3rd party UI library
• ✅Add dark/light mode toggle
• ✅Use GitHub as a source control for the project
• ✅Generate random seed data
• ✅Add tests
• ✅Automatically generate CreatedDate and ModifiedDate properties for all entities
• ✅Host the app as a website and share link.
• Count of students per class 🔎Visit
• Count of students per country 🔎Visit
• Average age of students 🔎Visit
• list of registered students (with 🔸search,🔸sorting,🔸pagination,🔸counts,🔹edit,🔹delete)
•register new student Class (with 🔸auto complete, 🔸validations)
• create GraphQl for reporting(statistics).
• create dedicated application for report and using CQRS design patterm approach.