Logo Lanfrica
  • Home
  • Atlas
  • Insights
  • Docs
  • Sign in

© 2026 Lanfrica. All rights reserved. All copyrights of the resources shown on the Lanfrica website belong to the original copyright holders, unless explicitly stated otherwise.

Adamtad1216/Ethiopian-National-Accessible-Exam-System

Domain:

education

Record type:

softwareproject
Creator:
Ada
Host:
# Ethiopian National Accessible Exam System (ENAES) Production-ready full-stack exam platform with: - React + TypeScript + Tailwind frontend - Node.js + TypeScript + Express backend - MongoDB (local) + Mongoose - JWT access/refresh auth - Role-based authorization (admin, examiner, student) - Offline response sync with latest `answeredAt` conflict resolution ## Local Requirements - Node.js 20+ - npm 10+ - MongoDB local instance running on `mongodb://localhost:27017` ## Project Structure - `frontend/` React frontend app - `backend/` backend API service ## Run From Project Root (No cd Required) From the project root folder, you can run: - `npm run dev:backend` - `npm run dev:student` - `npm run dev:staff` And for checks/builds: - `npm run build:backend` - `npm run build:student` - `npm run build:staff` - `npm run test:backend` - `npm run test:frontend` - `npm run test:e2e:smoke` - `npm run check:release` ## Backend Setup 1. Create env file: - Copy `backend/.env.example` to `backend/.env` 2. Install dependencies: - `cd backend` - `npm install` 3. Seed initial data: - `npm run seed` 4. Start backend: - `npm run dev` Backend default URL: `localhost` ## Frontend Setup 1. Install dependencies: - `cd frontend` - `npm install` 2. Optional frontend env (`frontend/.env`): - `VITE_API_BASE_URL=localhost` 3. Start frontend: - `cd frontend` - `npm run dev:student` (Student Portal on `localhost`) - `npm run dev:staff` (Admin/Examiner Portal on `localhost`) Frontend portal URLs: - Student Portal: `localhost` - Admin/Examiner Portal: `localhost` ## Test Commands ### Backend - Build: `cd backend && npm run build` - Tests: `cd backend && npm test` ### Frontend - Unit tests: `cd frontend && npm test` - Targeted tests: - `cd frontend && npx vitest run src/test/examPlayer.keyboard.test.tsx src/test/examSubmission.api.test.tsx` ### E2E - Spec file: `frontend/e2e/offline-sync.spec.ts` - …

Visit

github.com

Languages

Amharic