Skip to content

mmbmendevil/CEM-PLS-Pro

Repository files navigation

CEM-PLS-Pro

React TypeScript Vite Firebase Vercel License: MIT

CEM-PLS-Pro is a Firebase-backed personalized learning system for computer architecture education. It combines learner authentication, module-based lessons, adaptive-style assessment flows, AI-assisted reviewer generation, progress tracking, certification, and admin analytics in a React + TypeScript application.

The project is designed as a portfolio-ready academic system prototype: it demonstrates end-to-end product thinking, structured learning workflows, secure Firestore access patterns, and maintainable frontend architecture.

Live Demo

Production deployment: https://cem-pls-pro-21ey.vercel.app

Note: Some features require Firebase configuration and authenticated user data. Admin analytics require a Firebase Auth user with an admin profile role in Firestore.

Feature Highlights

Learner Experience

  • Email/password and Google authentication through Firebase Auth
  • Dashboard for learning progress, module access, and assessment status
  • Computer architecture modules with bundled local video lessons
  • Guided module viewer with progress persistence
  • Learning results and certificate generation flow

Assessment and Progress Tracking

  • Diagnostic pre-test and summative post-test workflows
  • Adaptive-style question selection using module balancing and weighted scoring
  • Gap analysis visualizations for competency-level feedback
  • Stage progression gates for structured learning flow
  • Firestore-backed assessment and module progress records

AI-Assisted Review

  • Personalized study plan generation based on learner assessment data
  • OpenAI-compatible reviewer generation through a Vite server proxy
  • Review formats for flashcards, audiobook-style narration, and cheatsheets
  • Fallback reviewer behavior when AI generation is unavailable

Admin Analytics

  • Protected admin dashboard
  • Cross-user progress and completion analytics
  • Item analysis views for assessment performance review
  • Admin-only Firestore access enforced through security rules and user profile roles

Architecture

Browser client
  React + TypeScript + Vite
  React Router
  Tailwind CSS
  Recharts / React Flow visualizations
        |
        | Firebase client SDK
        v
Firebase
  Authentication
  Firestore
  Storage
  Analytics
        |
        | Optional reviewer generation proxy during Vite dev/preview
        v
OpenAI-compatible chat API

Deployment
  Vercel serves the static Vite build
  Firebase hosts authentication, data, rules, and storage services

For a portfolio case-study view, see docs/portfolio.md.

Presentation Assets

Login image Create Account image Dashboard image image image Course Module image image Diagnostic Pre-test image image Gap Anlaysis image image image image Study Plan image image image image Summative Post-Test image image Learning Result image

Certification Page

image

Admin Page image image image image

Architecture

image

Technology Stack

  • React 18
  • TypeScript
  • Vite
  • Tailwind CSS
  • Firebase Auth, Firestore, Storage, and Analytics
  • React Router
  • Recharts
  • React Flow
  • Framer Motion
  • html2canvas and jsPDF for downloadable outputs
  • Vercel deployment

Project Structure

docs/              Portfolio, Firebase, release, and system documentation
public/videos/     Bundled lesson videos served by Vite
src/admin/         Admin pages, analytics views, and route protection
src/auth/          Learner authentication screens
src/contexts/      Shared React context providers
src/dashboard/     Learner dashboard, modules, assessments, and review pages
src/lib/           Firebase initialization
src/routes/        Route definitions and route constants
src/services/      Firebase and reviewer-generation service helpers

Getting Started

Prerequisites

  • Node.js and npm
  • Firebase project with Auth and Firestore enabled
  • Optional OpenAI-compatible API key for reviewer generation

Installation

npm install

Create a local environment file:

copy .env.example .env

On macOS/Linux:

cp .env.example .env

Fill in the required values, then start the development server:

npm run dev

Environment Variables

The app reads Firebase configuration from Vite environment variables:

VITE_FIREBASE_API_KEY=
VITE_FIREBASE_AUTH_DOMAIN=
VITE_FIREBASE_PROJECT_ID=
VITE_FIREBASE_STORAGE_BUCKET=
VITE_FIREBASE_MESSAGING_SENDER_ID=
VITE_FIREBASE_APP_ID=
VITE_FIREBASE_MEASUREMENT_ID=

Optional reviewer-generation and admin route values:

OPENAI_API_KEY=
VITE_OPENAI_API_BASE_URL=/api/openai
VITE_OPENAI_DEFAULT_MODEL=gpt-4.1-mini
VITE_ADMIN_USERNAME=
VITE_ADMIN_PASSWORD=

Do not commit .env. Use .env.example for placeholders only. See docs/firebase.md for Firebase and admin access notes.

Scripts

npm run dev      # Start the Vite development server
npm run build    # Type-check and create a production build
npm run preview  # Preview the production build locally

Firebase and Deployment

  • Firestore rules are stored at firestore.rules and referenced by firebase.json.
  • Learner data is scoped to authenticated users.
  • Admin analytics access requires a Firebase Auth user with role: "admin" in userProfiles/{uid}.
  • The frontend is deployed as a Vite static build on Vercel.
  • Bundled lesson videos are currently served from public/videos/.

More details:

What This Demonstrates

  • Production-oriented React + TypeScript organization
  • Firebase Auth and Firestore integration with security rules
  • Role-aware admin access and analytics workflows
  • Data-driven assessment, progress tracking, and review generation
  • Vercel deployment flow for a modern frontend application
  • Documentation discipline for public release and academic review

Suggested Portfolio Screenshots

Prioritize these captures before sharing with recruiters or professors:

  1. Login and sign-up screens
  2. Learner dashboard with populated progress
  3. Module viewer with video lesson
  4. Diagnostic pre-test question screen
  5. Gap analysis visualization
  6. Personalized study plan generation
  7. Flashcard, audiobook, and cheatsheet review modes
  8. Learning results and certificate screen
  9. Admin dashboard analytics
  10. Admin item analysis table/chart

Optional Future Improvements

  • Add route-level code splitting to reduce the production bundle size.
  • Replace bundled videos with Firebase Storage or CDN-hosted assets.
  • Add automated UI smoke tests for the main learner and admin flows.
  • Add real screenshot and architecture image assets under docs/assets/.
  • Add CI checks for TypeScript, build, and markdown link validation.

License

MIT

About

An adaptive web-based learning platform that personalizes reviewer sequences and assessment pathways for students with learning difficulties using reinforcement-based learning mechanisms, progress monitoring, and AI-assisted educational support.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages