Full stack monorepo based on NPM Workspaces
.
- Language:
Typescript
- Frontend:
Angular 17
with routing andSASS
- Backend:
Express
- Database:
MongoDB
- ODM:
Mongoose
NPM Workspaces
monorepoapi
andui
packages are independent and both import common types fromcommon
packageOIDC
authentication- Inlcuded Github Actions checks on pull requests
- Inlcuded Dockerfile for both
api
andui
packages
Ensure you have the following installed on your machine:
Node.js
: 20@angular/cli
: 17
Install dependencies:
npm i
Run project in development mode
If auth is not yet configured, run the following command to start the project without auth:
npm run noauth
Configure auth:
- API Backend: Create
/packages/api/.env
file with the following content: For example:
AUTH_URL=https://yourauthprovider.io/_api/auth/tenantname
You can also peak into .env-example
file for reference.
- UI Frontend: Modify
/packages/ui/src/assets/app.config.json
and set
authority
tohttps://yourauthprovider.io/_api/auth/tenantname
clientId
toyour-client-id
Then run the following command to start the project with auth:
npm start
Build the project:
npm run build