An ultimate starter for REST API with Express, Typescript, Prisma & PM2. Based on : https://github.com/ljlm0402/typescript-express-starter
To install this application on your computer, follow these steps:
-
Clone repo
git clone https://github.com/YohannKIPFER/express-node-blog
-
Install dependencies (node v14.18.3)
npm install
-
Copy .env.example.local to .env.development.local and run migration
npx prisma migrate dev
-
Run project
npm run dev
- CRUD system for a blog, categories, slug
- Register / Login / Forgot password / Reset password
- Public and private media library system
- Email system with Mailjet and mailService
- Admin & user role management
- 2FA system by Authentificator (OTP) or SMS
- Stripe payment intent and subscription with portal
.env is just for Prisma The .env.development.local is to be used locally You need to create a .env.production.local for production.
MJ_APIKEY_PUBLIC = xxx MJ_APIKEY_PRIVATE = xxx
To be replaced by API's https://www.mailjet.com/ keys for emails.
TWILIO_ACCOUNT_SID = xxx TWILIO_AUTH_TOKEN = xxx
To be replaced by API's https://www.twilio.com/en-us keys for SMS 2FA.
STRIPE_SECRET_KEY = xxx // Secret Key for Stripe STRIPE_MONTHLY_PRICE = xxx // Price id Stripe for monthly sub STRIPE_YEARLY_PRICE = xxx // Price id Stripe for yearly sub STRIPE_WEBHOOK_SECRET = xxx // Webhook signature secret
You'll find a Bruno collection in the BrunoCollection folder, which you can open directly with the Bruno API client.
Kipdev, content creator and developer.