ExamSphere - Full-Stack Online Examination & A

Description
# Exam Platform — Documentation
A full exam platform: question bank, exam creation, timed exam-taking, auto + manual grading, classes, notifications, PDF/CSV export, and an admin overview. Bilingual UI (Arabic/English, RTL/LTR).
## What's in this package
``` exam-platform/ ├── api/ Node.js + Express + MongoDB backend ├── web/ React frontend (Vite) └── deploy/ Docker Compose setup for both + MongoDB, with backup/restore scripts ```
Each folder also has its own `README.md` with more detail specific to that part.
## Requirements
- Node.js 20+ and a MongoDB database (local or a free tier like MongoDB Atlas) — for running `api`/`web` directly. - **or** Docker + Docker Compose — to run everything with one command (recommended for a quick start). - A modern browser. No other paid services are required. Email notifications and PDF export are optional features (see below) and work without any paid add-on.
## Quick start (Docker — easiest)
```bash cd deploy cp .env.example .env # open .env and set MONGO_ROOT_PASSWORD and JWT_SECRET to your own random values
docker compose up -d --build docker compose exec api npm run seed # optional: demo accounts + a sample exam ``` Open **http://localhost**. Full details, backups, and going to production: `deploy/DEPLOY.md`.
## Quick start (manual, without Docker)
```bash # 1) Backend cd api npm install cp .env.example .env # set MONGODB_URI and JWT_SECRET npm run seed # optional demo data npm run dev # http://localhost:4000
# 2) Frontend (in a second terminal) cd web npm install npm run dev # http://localhost:5173, proxies /api to the backend above ```
## Demo accounts (after `npm run seed`) | Role | Email | Password | |---|---|---| | Admin | admin@example.com | Password123! | | Teacher | teacher@example.com | Password123! | | Student | student@example.com | Password123! |
**Change or remove these before using the app with real data.**
## Features - **Accounts & roles** — admin / teacher / student, JWT auth, bcrypt-hashed passwords. - **Question bank** — multiple choice, true/false, short answer; subject, difficulty, points; optional image per question. - **Exams** — manual or random question selection, timed (enforced server-side), shuffled questions/options, attempt limits, a start/end window, configurable pass mark. - **Taking an exam** — auto-save, resume after a disconnect, tab-switch logging, copy/paste blocked, auto-submit on timeout. - **Grading** — objective questions grade instantly; short answers are graded manually with comments; students can request a regrade. - **Classes** — group students, limit an exam's audience to one or more classes, co-teachers per class. - **Notifications** — in-app bell (exam published, reminder before start, result ready, regrade updates) plus optional email (set `SMTP_*` in `api/.env` — leave blank to use in-app only). - **Bulk student import** — Excel/CSV upload with per-row validation and generated passwords. - **Reports & export** — per-exam analytics (average, pass rate, hardest questions), CSV export, per-student PDF export and a bulk "PDF per student, zipped" export, and an admin-only platform-wide overview. - **Bilingual UI** — Arabic and English, with automatic RTL/LTR layout switching.
## Support For questions about this item, use the contact/support channel listed on the Codester product page. Please include: what you were trying to do, the exact error message/screenshot, and whether you're running via Docker or manually.
## About the author *(Add your name, store link, and any other products here before publishing.)*
## Third-party notices See `LICENSE-THIRD-PARTY.md` for the open-source packages and web fonts this project depends on.
Features
Bilingual Support (Arabic & English): Full RTL (Right-to-Left) and LTR layout adaptation across all interfaces.Role-Based Access Control (RBAC): Distinct roles for Admin, Teacher, and Student with secure permission boundaries.Advanced Question Bank: Supports Multiple Choice (MCQ), True/False, and Short Answer questions with optional image attachments.Secure Examination Engine:
- Server-enforced timers (tamper-proof).
- Randomized question and option shuffling.
- Attempt limits and strict start/end time windows.
- Anti-Cheat Monitoring: Tracks and logs window/tab switching events with alerts sent to teachers.
- Auto-save and offline reconnection resilience.
- Automatic submission upon timer expiration.
Hybrid Grading System: Instant automated grading for objective questions, manual grading with feedback for essay questions, and student grade review requests.Class & Student Management: Group students into classes, assign targeted exams to specific classes, and manage co-teachers.Bulk Import via Excel/CSV: Easily import student lists with auto-generated passwords and direct class assignment.Comprehensive Reports & Analytics:
- Average scores, pass rates, and score distribution charts.
- Identification of most-missed/hardest questions.
- Export options: CSV exports and bulk zipped PDF reports for individual or class results.
Notifications: In-app notifications and email alerts for exam publishing, reminders, results release, and regrading updates.Security & Auditing: Secure password hashing (bcrypt), JWT authentication, comprehensive audit logs, and prevention of correct answer leaks during active exams.
Requirements
- Node.js (v18.0 or higher) - MongoDB (Local instance or MongoDB Atlas connection string) - Docker & Docker Compose (Optional, required only for containerized deployment) - Modern Web Browser (Chrome, Firefox, Edge, Safari) supporting modern CSS and JavaScript
Instructions
Frontend: React (Vite), Tailwind CSS, Lucide Icons, Recharts.Backend: Node.js, Express, MongoDB (Mongoose), JWT Auth, PDFKit.Deployment & DevOps: Docker & Docker Compose setup with automated backup configuration.
| Author | tasneemshehadeh |
|---|---|
| Category | Scripts & Code / NodeJS |
| Price | $35 |
| Extended License | $105 |
| First Release | Oct 2, 2026 |
| Last Update | Oct 9, 2026 |
| Database | MongoDB 8.x |
| Files included | .css, .vue, Dockerfile, .cshtml, JavaScript .js |
| Software version | Node.js 26 |
| Software framework | Express.js, Next.js |
| Javascript framework | React, Vue.js, Next.js, Nuxt.js, Three.js, jQuery, Node.js |
| Programming language | JavaScript |
Categories
Tags
External listing. code.market does not sell this product and does not process payment for it. Pricing, payment, delivery, licensing, refunds, and support are handled by the third-party merchant on its own website. We may earn an affiliate commission from a referral. Details.
Products of the Week.
Submit🥇
Actionbook
It works inside the user's own browser with the accounts already signed in. The user describes the result they need, and the agent reads, clicks and types through the pages, then delivers a dashboard or report where each data links back to its source.
Other · 717 views · 9 clicksOther · Week 44 · 717 views · 9 clicks
🥈
Free social media tools for creators & solofounders
295 free tools for growing your social media: write, plan, grow on local AI models, 100% free forever, No sign-up required, No trial. Write, check and measure posts on LinkedIn, Instagram, TikTok, X, YouTube, Reddit, Product Hunt and more: a free social media scheduler for 17 networks, engagement rate calculators, character counters, best time to post, hook generators and follower growth calculators. No login anywhere, no API or credit usage.
686 views · 6 clicksWeek 44 · 686 views · 6 clicks
🥉
STOP GUESSING WHAT TO POST
AI that learns your brand voice and builds a month of consistent, on-brand social content: carousels, posts and hooks that sound like you, not like everyone else's AI.
SaaS · 1,932 views · 21 clicksSaaS · Week 44 · 1,932 views · 21 clicks
#4
Hand-Placed Backlinks $9.99 per link. Flat rate.
Buy hand-placed forum, Q-A and directory backlinks. Flat $9.99 per link, no subscriptions — you only pay for approved listings.
Website · 1,884 views · 17 clicksWebsite · Week 44 · 1,884 views · 17 clicks
#5
Conversational Backlinks for Busy Founders
Place Backlink Relevant Conversation for your domain across Forums and Conversations
39,342 views · 211 clicksWeek 44 · 39,342 views · 211 clicks
#6
Free Invoice Generator - PDF Invoices in Your Browser, No Sign-Up
A free invoice maker for freelancers and small businesses: fill in the invoice, check the live preview, and download a PDF that looks exactly like it. Any currency, tax per item, three templates, no sign-up, and nothing leaves your device.
624 views · 11 clicksWeek 44 · 624 views · 11 clicks
#7
Merge PDF Files Free - Combine PDFs in Your Browser, No Upload
A free PDF merger for office workers, students, and freelancers: combine PDFs and images into one file in the browser, reorder files and pages, pick page ranges, keep bookmarks, and open password-protected PDFs. Nothing is uploaded, no sign-up, no watermark.
566 views · 4 clicksWeek 44 · 566 views · 4 clicks