✨ This workspace has been generated by Nx, a Smart, fast and extensible build system. ✨
To start the development server run nx serve NgSantoral
. Open your browser and navigate to http://localhost:4200/. Happy coding!
If you happen to use Nx plugins, you can leverage code generators that might come with it.
Run nx list
to get a list of available plugins and whether they have generators. Then run nx list <plugin-name>
to see what generators are available.
Learn more about Nx generators on the docs.
To execute tasks with Nx use the following syntax:
nx <target> <project> <...options>
You can also run multiple targets:
nx run-many -t <target1> <target2>
..or add -p
to filter specific projects
nx run-many -t <target1> <target2> -p <proj1> <proj2>
Targets can be defined in the package.json
or projects.json
. Learn more in the docs.
Have a look at the Nx Console extensions. It provides autocomplete support, a UI for exploring and running tasks & generators, and more! Available for VSCode, IntelliJ and comes with a LSP for Vim users.
Just run nx build demoapp
to build the application. The build artifacts will be stored in the dist/
directory, ready to be deployed.
Nx comes with local caching already built-in (check your nx.json
). On CI you might want to go a step further.
Copy certs on /apps/frontend/nginx/certs & /apps/frontend/assets/certs
For local access, modify /root/.env file For Github Actions, add it as a secret
- DATABASE_URL="mysql://root:pwd@localhost:3306/santoral"
Change the URL as needed
For local access, modify /apps/backend/.env.local file For Github Actions, add them as secrets
AUTH0_DOMAIN=YOUR_AUTH0_ISSUER_URL (GH Secret: AUTH0_DOMAIN) AUTH0_ISSUER_URL=YOUR_AUTH0_ISSUER_URL (GH Secret: AUTH0_ISSUER) AUTH0_AUDIENCE=YOUR_AUTH0_AUDIENCE (GH Secret: AUTH0_AUDIENCE) AUTH0_CLIENT_ID=YOUR_AUTH0_CLIENT_ID (GH Secret: AUTH0_CLIENT_ID) AUTH0_CLIENT_SECRET=YOUR_AUTH0_CLIENT_ID (GH Secret: AUTH0_CLIENT_SECRET) AUTH0_CALLBACK_URL=YOUR_AUTH0_CALLBACK_URL (GH Secret: AUTH0_CALLBACK_URL) JWT_SECRET=JWT_SIGNING_SECRET (GH Secret: JWT_SECRET)
Copy the certificates cert.pem
and key.pem
to the folder /apps/backend/src/assets/certs.
For Github Actions, add the content of each file as a secret (API_NEST_CERT
and API_NEST_CERT_KEY
)
For local access, modify /apps/frontend/.env.local file For Github Actions, add them as secrets
NG_APP_AUTH0_DOMAIN=YOUR_AUTH0_DOMAIN (GH Secrete: AUTH0_DOMAIN) NG_APP_AUTH0_CLIENT_ID=YOUT_AUTH0_CLIEND_ID (GH Secrete: AUTH0_CLIENT_ID) NG_APP_AUTH0_AUDIENCE=YOUR_AUTH0_AUDIENCE (GH Secrete: AUTH0_AUDIENCE)
NG_APP_API_BASE_URL=https://localhost:443/api
NG_APP_ENABLE_LOCAL_SERVICE_WORKER=false
Copy the nginx.crt
and nginx.key
to the folder /apps/frontend/nginx/certs.
For Github Actions, add the content of each file as a secret (APP_NGINX_CERT
and APP_NGINX_CERT_KEY
)
This project was generated with Angular CLI version 16.1.0.
Run npm run start:backend
and npm run start:frontend
to start both applications. Then, to enable communication between each of them, access
the API application in the browser (https://localhost/api) in order to trust the certificates.
Then you can access http://localhost:4200 normally.
Restore the DB npx prisma migrate reset
Format schema.prisma npx prisma format
Run data migrations ts-node prisma/data-migrations/XXX.ts
Run ng serve
for a dev server. Navigate to http://localhost:4200/
. The application will automatically reload if you change any of the source files.
Run ng generate component component-name
to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module
.
npx nx g --project frontend @nx/angular:component component-name
Run ng build
to build the project. The build artifacts will be stored in the dist/
directory.
Run ng test
to execute the unit tests via Karma.
Run ng e2e
to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.
To get more help on the Angular CLI use ng help
or go check out the Angular CLI Overview and Command Reference page.