Logo Lanfrica

skillyme25-glitch/Skillyme-LMS-System

Domaine:

educationdigital infrastructure

Type de record:

software
Créateur:
ski
Hôte:
This will be used for hosting all services in skillyme africa # Skillyme Africa LMS — Cohort 2: Build Track A full-stack cohort management platform for the Skillyme Africa startup accelerator. Manage participants, teams, milestones, calendar events, announcements, and real-time notifications. --- ## Tech Stack | Layer | Technology | |---|---| | Frontend | React 18 + TypeScript + Vite + Tailwind CSS + shadcn/ui | | Backend | Node.js + Express + TypeScript | | ORM | Prisma | | Database | PostgreSQL 15 (via Docker) | | Auth | JWT (access + refresh tokens) + bcrypt | | Realtime | Server-Sent Events (SSE) | | Email | Nodemailer | | Jobs | node-cron | --- ## Prerequisites - **Node.js** 18 or later - **Docker Desktop** (for PostgreSQL) - **npm** or **pnpm** --- ## Setup (5 steps) ### 1. Clone and install ```bash git clone cd "SKILLYME AFRICA LMS" # Install root dependencies (Prisma CLI, concurrently) npm install # Install server dependencies cd server && npm install && cd .. # Install client dependencies cd client && npm install && cd .. ``` ### 2. Configure environment ```bash cp .env.example .env ``` Open `.env` and fill in: | Variable | Description | |---|---| | `DATABASE_URL` | PostgreSQL connection string (matches docker-compose) | | `JWT_ACCESS_SECRET` | 64-byte random hex — generate with `node -e "console.log(require('crypto').randomBytes(64).toString('hex'))"` | | `JWT_REFRESH_SECRET` | Different 64-byte random hex | | `SMTP_HOST / SMTP_USER / SMTP_PASS` | Gmail SMTP (or leave blank — emails log to console) | | `FRONTEND_URL` | `localhost` | | `PORT` | `4000` | | `PROGRAM_NAME` | Displayed in the UI and emails | ### 3. Start the database ```bash docker compose up -d ``` Verify: `docker ps` should show `skillyme-db` running. ### 4. Run database migrations and seed ```bash # Generate Prisma client + run migrations npm run db:generate npm run db:migrate # Seed with sample data npx prisma db seed ``` ### 5. Start the dev server ```bash npm run dev ``` This starts both: - **Backend** at http: …