Logo Lanfrica

Olubiyi1/craftora_api

Domain:

education

Record type:

software
Creator:
Olu
Host:
A vocational learning management system built for African tradespeople. # Craftora API A vocational LMS backend for trades and vocational instructors across Africa. Instructors create and monetize courses. Students enroll, track progress, and access content securely. --- ## Tech Stack - **Node.js / TypeScript / Express** - **PostgreSQL + Prisma** - **Redis + BullMQ** - **Cloudinary** — video storage with signed URLs - **Paystack** — enrollment payments + instructor payouts - **JWT** — access & refresh token auth --- ## Getting Started ```bash git clone github.com cd craftora_api npm install cp .env.example .env npx prisma migrate dev npm run dev ``` --- ## Environment Variables ```env NODE_ENV=development PORT=3000 DATABASE_URL= JWT_ACCESS_SECRET= JWT_REFRESH_SECRET= REDIS_URL= CLOUDINARY_CLOUD_NAME= CLOUDINARY_API_KEY= CLOUDINARY_API_SECRET= PAYSTACK_SECRET_KEY= PAYSTACK_WEBHOOK_SECRET= SMTP_HOST= SMTP_PORT= SMTP_USER= SMTP_PASS= ``` --- ## Core Features - JWT auth with refresh token rotation - Email verification & password reset - Role-based access (Student, Instructor, Moderator, Admin) - Course → Module → Lesson structure with locked progression - Free first-lesson preview - Cloudinary video uploads with signed expiring URLs - Paystack payments + automated instructor payouts - BullMQ email queue - Lesson-level progress tracking --- ## Deployment Hosted on **Render**. Redis on **Railway**. Build command: ```bash npm install && npx prisma generate && npx prisma migrate deploy && npm run build ``` --- ## Author **Babajide** — Backend Developer