Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Course Marketplace API

Node.js / Express REST API for an online course marketplace (auth, courses, lessons, purchases, payments).

Requirements

  • Node.js 18+
  • PostgreSQL
  • Cloudinary account
  • Gmail App Password (or SMTP credentials via Nodemailer)

Setup

  1. Copy environment file and fill in secrets:
cp .env.example .env
  1. Install dependencies:
npm install
  1. Create the PostgreSQL database named in DB_NAME.

  2. Start the API:

npm run dev
  • API: http://127.0.0.1:3000/api
  • Health: http://127.0.0.1:3000/health
  • Swagger (non-production only): http://127.0.0.1:3000/api-docs

Scripts

Script Description
npm run dev Start with file watching
npm start Production start
npm run lint Syntax check entrypoint

Security notes

  • Public registration allows student or instructor only (admins are created by super-admin).
  • Email verification is required before login.
  • Password reset requires a valid OTP.
  • Lesson video URLs require a paid purchase (or instructor/admin ownership).
  • Rate limiting and Helmet headers are enabled.
  • Set CORS_ORIGIN and strong JWT secrets before deploying.

About

A scalable online learning platform that enables instructors to publish video courses and students to purchase, enroll, and learn through an organized course marketplace.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages