XMentor is a high-performance, full-stack educational platform built to bridge the gap between traditional classroom learning and professional software engineering. Designed for precision and speed, it provides teachers with a "Tactical HUD" to mentor students, automate grading, and foster real-time collaboration.
Live: xmentor.skramizraza.tech
XMentor was built to empower educators by automating the mundane. From instant MCQ grading to secure, verified teacher onboarding, every feature is optimized to save time and maximize student impact.
- Verified Onboarding: Manual verification workflow for prospective teachers to ensure platform integrity.
- Admin Command Center: A dedicated operational dashboard for managing teacher credentials and system health.
- Identity Guard: Secure registration with mandatory WhatsApp contact for manual vetting.
- Auto-graded multiple-choice exams with deterministic question shuffling per student (cheat-resistant).
- Pause & Resume: Students can save progress mid-test;
timeLeft, answers, and question index are all restored exactly on resume. - Breach Tracking: Tab-switch and fullscreen-exit violations are counted and persisted across pause/resume cycles. Sent to the backend on final submission.
- Teacher Analytics Dashboard: Splits results into Completed, In-Progress (paused), and Pending — cohort stats are calculated only from completed submissions.
- Score Adjustment: Teachers can manually override a student's final score with full authorization checks.
- Reassign: Teachers can reset a student's attempt and let them retake, with per-button loading state (no full-page flicker).
- Specialized grading interface for open-ended assignments, optimized for high-speed teacher review.
- Full support for English and Bengali (EN/BN) academic content.
- Real-time Uplink: Socket.io-powered community chat rooms for instant collaboration.
- Anonymous "Byte Knights": Professional alias system for school and engineering mastery hubs.
- Priority Doubt Resolution: A structured ticketing system for academic blockers.
- Teacher Recruitment: Teachers can invite students directly into community hubs.
- Global Leaderboards: Weighted ranking system based on accuracy and participation.
- Performance Metrics: Visual tracking of student growth across subjects and boards.
- Student Overview: Teachers get a cross-test view of each student's completed tasks, pending tasks, and submission history.
| Layer | Technology |
|---|---|
| Frontend | React 18, Vite, Zustand, SCSS, Lucide Icons |
| Backend | Node.js, Express.js, Socket.io |
| Database | MongoDB (Mongoose ODM) |
| Validation | Zod (request schema validation on all mutating routes) |
| Security | JWT, bcryptjs, Helmet |
| Push Notifications | Web Push API (offline/mobile users) |
| Cloud Assets | ImageKit.io (optimized avatars) |
| PWA | Vite PWA Plugin, Workbox (offline support, installable) |
- Node.js v18+
- MongoDB instance
- ImageKit.io free account
cd Backend
npm install
# Copy .env.example → .env and fill in your values
npm run devcd Frontend
npm install
# Set VITE_API_URL in .env
npm run dev- All passwords hashed with
bcryptjs. - JWT tokens with short expiry + refresh flow.
- Zod schema validation on every mutating route — invalid payloads are rejected before reaching service logic.
- MCQ breach counting validated and sanitized server-side (client input is never trusted).
- Admin operations protected by multi-layer middleware.
Important
Never commit your .env file. A set-admin.js script is provided for authorized owners to initialize administrative access.
- Instagram-Style PWA Downbar (
BottomNav.jsx): Replaced the legacy mobile sidebar with a sleek, modern bottom navigation bar featuring persistent active state tracking across core tactical views (Home, MCQ, Leaderboard, Tasks). - Animated Menu Bottom Sheet: Implemented an elegant, blur-backdrop slide-up menu sheet for mobile and tablet viewports (
<= 1024px) with staggered, line-by-line row animations and premium active state highlighting. - Glassmorphism Architecture Standardization (
_utilities.scss): Refactored the corealpha()helper function to utilize modern, percentage-basedcolor-mix(in srgb, var(...), opacity%)syntax. Completely eliminated legacyrgba()variable parsing errors across all SCSS modules (_bottom_nav.scss,_navbar.scss,_notifications.scss,_sidebar.scss,_dashboard.scss,_error.scss,_mcq.scss). - Admin Command Center Fix (
AdminPanel.jsx): Resolved a permanent white border UI bug on the search wrapper by eliminating conflicting utility classes, restoring custom glassmorphic interaction states. - Community Card Restructuring (
CommunityList.jsx): Redesigned the anonymous hub cards into an elegant 2-row action layout, isolating primary chat entry from secondary management controls (Recruit,Delete,Leave) with equal flex distribution and micro-animations.
- Tactical Shop & Currency (
TacticalShop.jsx): Implemented a fully gamified virtual economy where students earnPtsvia Daily Login Bonuses (+10 Pts) and MCQ question completions (+0.5 Ptsper correct answer). - Economy Rebalancing: Adjusted default starting balance to
50 Pts(down from 150 Pts) to maintain a challenging and rewarding gamification loop, with seamless database migration for existing users. - ⚡ Emergency Pause Token: Allows students to purchase and activate an extra exam pause. Includes strict consumption cooldown (
24hbetween uses) and instructor override protection (cannot be used on exams configured withpauseLimit === 0). - 📅 Deadline Extension Token: Allows students to extend an expired assignment by 24 hours. Features isolated student deadline tracking via
extendedDeadlinesarray (ensuring only the purchasing student's deadline is extended) and strict consumption cooldown (48hbetween uses). - Zustand Store Synchronization: Real-time, zero-reload state synchronization between
useShopStoreanduseAuthStorefor instant UI updates across the navigation pill, shop inventory, and MCQ HUD banners. - Responsive Tactical HUD: Comprehensive mobile (
480px) and tablet (768px/1024px) viewport optimizations for perk banners, action buttons, and inventory chips.
- Fixed timer resetting to full duration after pause/resume (timer now reads from
timeLeftRefinstead of state deps). - Fixed breach count resetting to 0 after resume (violations restored from
test.progress.breachCounton mount). - Fixed paused students incorrectly shown as
0/totalin completed results table. - Fixed reassign action causing full-page skeleton loader (switched to per-button local loading state).
- Fixed score cell layout on mobile (pill + edit button wrapped in flex container).
- Fixed hover regression on Review Paper / Terminate buttons (specificity conflict resolved).
- Added server-side
breachCountsanitization insubmitTestandpauseTest. - Added
updateScoreSchemaZod validation on the score PATCH route. - Null-guard on
studentIdin analytics Set construction (handles deleted student accounts). - Fixed stale
violationsclosure inhandleSubmitviaviolationsRef.
Contributions are welcome. Feel free to fork, submit PRs, or open issues. Looking to collaborate with:
- Experienced developers — architecture, scaling, real-time engine optimization.
- UI/UX designers — elevating the Tactical HUD aesthetic.
- Educators — beta testing and feature feedback.
Sk Ramiz Raza — Full-Stack Developer & Student Mentor
- LinkedIn: Sk Ramiz Raza
- GitHub: @Ramiz1323
Licensed under the GNU General Public License v3.0. See LICENSE for details. Copyright © 2026 Sk Ramiz Raza. All Rights Reserved.