Skip to content

The Pediafor Assessment & Evaluation application is the first product wedge in our mission to build open, AI-centric education infrastructure. It aims to solve one of the most critical gaps in education today: providing a robust, fair, and accessible assessment platform that isn't locked behind high costs or proprietary systems.

License

Notifications You must be signed in to change notification settings

Pediafor/Assessment

Repository files navigation

πŸŽ“ Pediafor: Open-Source Assessment Platform

License Status Architecture Test Coverage Built with Node.js Built with React Database Events Docker Contributions Welcome

πŸš€ Production-Ready Event-Driven Assessment Platform


🌟 Why Choose Pediafor?

πŸ’‘ Open Source & AI-First

  • Zero Vendor Lock-in: Complete source code with Apache 2.0 license
  • AI-Powered Grading: Automated assessment with intelligent feedback
  • Cost-Effective: Enterprise-grade features without enterprise costs
  • Community-Driven: Built by educators, for educators

πŸ—οΈ Production-Ready Architecture

  • Event-Driven Microservices: 7 independent services with RabbitMQ messaging
  • High Test Coverage: Comprehensive test suites for all services
  • Scalable by Design: Handle thousands of concurrent users
  • Security-First: PASETO V4 tokens, FERPA/GDPR compliant

⚑ Modern Technology Stack

  • Backend: Node.js, TypeScript, Express.js with PostgreSQL
  • Frontend: Next.js 14+ App Router, React 18, Tailwind CSS
  • Real-time: WebTransport + WebSocket dual-protocol server for cutting-edge performance
  • Container-Ready: Docker deployment with health monitoring

🎯 What You Get Out of the Box

πŸ‘¨β€πŸŽ“ For Students

  • Assessment Interface: Clean, accessible exam-taking experience
  • Real-time Auto-save: Never lose progress with automatic draft saving
  • Instant Feedback: Immediate results for multiple-choice questions

πŸ‘©β€πŸ« For Teachers

  • Assessment Builder: Rich assessment creation with media support
  • Automated + Manual Grading: Hybrid grading with rubric UI, per-question scoring, teacher queue, and overview analytics
  • Student Management: Searchable/paginated roster, student detail page with recent submissions
  • Real-time Analytics: Backend analytics service operational

🏒 For Administrators

  • User Management: Backend user service operational
  • System Analytics: Backend analytics operational
  • Scalable Infrastructure: Handle institutional-scale concurrent usage
  • Integration Ready: API-first design for LMS and SIS integration

πŸš€ Quick Start

# Clone and start the production-ready backend
git clone https://github.com/pediafor/assessment.git
cd assessment
docker compose up --build

# πŸŽ‰ Backend Ready! Access services:
# API Gateway: http://localhost:3000
# RabbitMQ Management: http://localhost:15672

πŸ”Ž Quick Smoke Tests

Use these to sanity-check your environment (replace TOKEN with a real access token after login):

# Gateway health
curl -s http://localhost:3000/health

# Public register (example)
curl -s -X POST http://localhost:3000/users/register \
	-H "Content-Type: application/json" \
	-d '{"email":"demo+gw@local","password":"Passw0rd!","firstName":"Demo","lastName":"User"}'

# Protected example (requires TOKEN)
curl -s http://localhost:3000/users/me -H "Authorization: Bearer TOKEN"

For per-service smoke tests, see the individual service READMEs in services/*/README.md.


πŸ“– Documentation


πŸ› οΈ Technology Stack

Backend

  • Node.js + TypeScript: Type-safe, performant microservices
  • Express.js: Lightweight, flexible API framework
  • PostgreSQL + Prisma: Robust data layer with type safety
  • RabbitMQ: Enterprise-grade event messaging
  • PASETO V4: Modern, secure token authentication

Frontend

  • Next.js 14+ App Router: Modern React framework with SSR
  • Tailwind CSS: Responsive, utility-first CSS

Infrastructure

  • Docker: Containerized deployment

✨ Feature Status

Feature Status Notes
User Management βœ… Implemented CRUD, roles, permissions
Authentication βœ… Implemented PASETO V4, login, logout, refresh
Assessment Management βœ… Implemented CRUD, media uploads
Submission Management βœ… Implemented CRUD, file uploads, autosave
Automated Grading βœ… Implemented MCQ, True/False
Event-Driven Architecture βœ… Implemented RabbitMQ, events for all services
Email Notifications βœ… Implemented Notification Service consumes grading.completed and emails students
Real-time Notifications βœ… Implemented Event-driven notifications with gateway and realtime fanout
Frontend 🟑 In Development Basic structure and some components are ready

πŸ—ΊοΈ Roadmap

Next Steps

  • Advanced Grading: Essay grading, AI-powered grading.
  • Advanced Analytics: More detailed dashboards and reports.
  • Full Frontend Implementation: Complete the frontend for all user roles.

Future

  • LMS Integrations: Canvas, Moodle, etc.
  • Mobile App: Native mobile apps for iOS and Android.

πŸ“œ License

Licensed under the Apache License 2.0.


Last Updated: October 20, 2025

About

The Pediafor Assessment & Evaluation application is the first product wedge in our mission to build open, AI-centric education infrastructure. It aims to solve one of the most critical gaps in education today: providing a robust, fair, and accessible assessment platform that isn't locked behind high costs or proprietary systems.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published