This project is using NX, NestJS, PlanetScale, Stripe, NextJS, TailwindCSS and more. What you need to have on your machine:
- NodeJS 18+
- PNPM installed as global package
- PlanetScale CLI (to connect on database)
- Stripe CLI (to test checkout)
Install all the packages and tools above, then clone the project, go to the folder and install the dependencies
pnpm install
After installing you can start the database and the checkout.
pnpm run:db
pnpm run:checkout # this is optional
To run the projects you can use the following commands
pnpm run:services
pnpm run:app
You can access the services running on URL http://localhost:3000
.
You can access the web app running on URL http://localhost:4200
.
To test via API ask Gus for the Postman collection.
For payment: you may use those default tests payment methods listed on Stripe Docs.
We're using Resend + React Email to handle email templates. The templates should be created on libs/react-email/emails
folder and consumed from the place you want using the alias @email/<your_path_here>
.
The static files comes from Thon Labs CDN, so every static should be stored there and consumed on emails using the domain https://static.thonlabs.io
.
Note for sending email: it's missing create a encapsulation class yet, but it's on backlog. So it's possible to see some example on auth or checkout services.