It's still work in progress and it's just a prototype.
Expect bugs, but feel free to use the current code.
- Login and register routes
- Courses, lessons and comments collections - to provide content
- Stripe Webhook to handle payments
- Logs - to save important actions
- Pages - to publish some content
- Bans - to prevent some users from logging in, or even registering
- Admins - to provide a feature for special users to manage the platform
- Many other utils to handle errors, responses, help with uploads or code organization
-
Install
NodeJSandnpm/pnpm -
Run
pnpm install -
Go to Stripe's Dashboard and search for API keys. You will need a private/secret API key
-
.env-> Set your private API key inSTRIPE_SECRET_KEYvariable -
Prepare the Stripe CLI for local debugging. When you are logged in, you will get your Stripe webhook key
-
.env-> Set your Stripe webhook key inSTRIPE_WEBHOOK_SECRETvariable -
Run
pnpm devto start the dev server -
You will be asked to create the first local user (admin) - do it
-
Open
http://localhost:3000and use the app
If you want to test Stripe locally
- Run
stripe listen --forward-to localhost:3000/api/stripe-webhook - Trigger the event, like
./stripe trigger checkout.session.completed