Skip to content

mrpouyaalavi/syllabus-sync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,149 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Typing SVG

License: MIT Next.js React TypeScript Supabase Tailwind CSS Tests CI/CD


Syllabus Sync — Enterprise-Grade Campus OS Blueprint

A production-ready, AI-native platform that transforms static university infrastructure into a secure, high-performance, and cohesive student experience.

Syllabus Sync is a production-grade, security-hardened web platform that unifies academic scheduling, deadline intelligence, campus navigation, and student engagement into a single, cohesive experience. Built on Next.js 16, React 19, and Supabase with strict TypeScript throughout, it delivers the integrated campus infrastructure that universities promise but rarely ship.

Built initially for Macquarie University, it is designed to be adaptable to other institutions by swapping academic datasets and configuring environment variables. This project is a comprehensive portfolio piece that shows advanced full-stack engineering, rigorous cybersecurity implementations, and AI-native development workflows.

🔗 Live Demo  ·  📖 Docs  ·  🔐 Security  ·  🤝 Contributing



🎯 High-Level Impact & Value Proposition

Traditional university systems are fragmented, leading to missed deadlines, poor campus discoverability, and sub-optimal student experiences. Syllabus Sync solves this by providing:

  • Unified Academic Management: Seamless integration of enrolled units, class times, and assessment deadlines with stress-aware predictive tracking.
  • Advanced Campus Navigation: Real-time, fused-heading campus navigation combining OpenStreetMap (Leaflet) and Google Maps Embed APIs, tailored for high-accuracy pedestrian routing.
  • Enterprise-Grade Security: A defence-in-depth architecture featuring WebAuthn (Passkeys), hardware-backed MFA, Zero-Trust middleware, and strict Row-Level Security (RLS).
  • Gamified Engagement: Secure, anti-abuse XP and streak mechanics to incentivise academic consistency.


Why This Project Matters

University platforms are often decades-old monoliths with bolted-on features and poor mobile experiences. Students deserve better. Syllabus Sync was built to prove three things:

  1. A unified campus experience is technically achievable. Timetables, assessment deadlines, campus wayfinding, weather-aware planning, and gamified engagement belong in one application -- not scattered across five different portals.
  2. Security and usability are not trade-offs. This platform implements WebAuthn passkeys, hardware-backed MFA, and Zero-Trust middleware while maintaining sub-second page loads and a frictionless UX.
  3. AI-augmented engineering produces auditable, production-quality software. Every architectural decision and security hardening is traced through an immutable changelog.


Screenshots

Dashboard Calendar
Dashboard Calendar
Campus Map (Leaflet) Campus Map (Google Maps)
Campus map Google map


Key Features

╔══════════════════════════════════════════════════════════════════════╗
║  📄  Syllabus PDF → Structured JSON/Markdown via OCR + LLM pipeline  ║
║  🗓  Intelligent calendar with automated workload & stress analysis  ║
║  🗺  Dual-engine navigation: Leaflet + Google Maps, real-time GPS    ║
║  🔐  MFA (TOTP + WebAuthn/Passkey), RLS, CSRF, and rate limiting     ║
║  🌍  19 languages · Full RTL · WCAG 2.1 AA · 360px–2560px            ║
║  🎮  Gamification: XP, leaderboards, streaks, achievement system     ║
║  🔔  Context-aware notifications with multi-channel delivery         ║
║  ⚡  CI/CD via GitHub Actions · 503 tests · Vercel Edge deployment    ║
╚══════════════════════════════════════════════════════════════════════╝


🏗️ Technical Architecture Overview

Syllabus Sync is built on a modern, edge-ready tech stack designed for scalability, type safety, and zero-trust security.

Runtime Stack

Layer Technology
Framework Next.js 16 (App Router)
UI React 19, Tailwind CSS 4, Radix UI, Framer Motion
State Zustand (persistent storage, SWR-like caching)
Database & Auth Supabase PostgreSQL with enforced Row-Level Security (RLS)
Infrastructure Vercel (Edge Middleware, Serverless Functions)
Rate Limiting Upstash Redis (distributed)
Error Tracking Sentry (client, server, edge)

Key Architectural Decisions

  • Edge-First Security Middleware: All routing passes through Vercel Edge Middleware. Auth state, email verification gates, CSRF protection, and rate limiting are enforced at the edge.
  • Distributed Rate Limiting: Uses Upstash Redis and explicitly fails closed in production if Redis is unconfigured, preventing bypass attacks during autoscaling events.
  • Database-Level Atomicity: Critical operations (e.g., profile creation) are handled via PostgreSQL triggers to guarantee integrity.
  • Optimistic UI with Additive Server Sync: Complex state uses optimistic updates backed by an additive merge strategy to eliminate race conditions.
  • Proxy Middleware Auth Gate: All /api/* routes require authentication by default, ensuring security-by-default for new endpoints.

Deep Dive: Technical Explanation | Architecture Reference



🔒 Security Posture & Hardening

Security is a structural constraint, with defence-in-depth across every layer.

  • Authentication: FIDO2 WebAuthn (Passkeys restricted to platform authenticators), hardware-backed MFA (TOTP), and audited session termination.
  • Authorisation: Absolute tenant isolation via PostgreSQL Row-Level Security (RLS) at the query execution layer.
  • Data Protection: Encryption at rest (AES-256), in transit (TLS 1.3), and strict Content Security Policy (CSP).
  • Compliance: Tamper-evident audit logging for all sensitive system and user operations.

For Security Reviewers: Security Posture Report | Security Evidence Index



🤖 AI-Native Engineering Workflow

Developed using the Raouf Change Protocol, orchestrating agents for production-grade software engineering.

OpenAI Codex — Implementation & Test Generation

  • Unit test generation covering happy paths, auth failures, and edge cases.
  • Regression test scaffolding following every bug fix.
  • Migration authoring drafting Supabase migration SQL from schema descriptions.

Syllabus-as-Code Documentation Suite

  • docs/api/API_REFERENCE.md — Auto-validated request/response schemas.
  • docs/architecture/ARCHITECTURE.md — Constraint document used during code reviews.
  • CHANGELOG.md — Immutable ledger of every architectural decision and fix.


🎯 Project Governance

License

Released under the MIT License — an OSI-approved, permissive open-source license.

Roadmap & Priorities

  • P0: Standalone @syllabus-sync/extractor package for LLM OCR pipelines.
  • P1: Reference dataset forks for USYD and UNSW.
  • P1: MCP (Model Context Protocol) server for direct agent integration.
  • P2: Federated identity via institution SSO (SAML/OIDC).

Maintainers

Name Role
Mohammad Pouya Alavi Naeini Lead maintainer — architecture, infrastructure
Mohammad Raouf Abedini Co-maintainer — security, AI workflows, backend


Repository Layout

app/                Next.js routes, layouts, 65 API route handlers
components/         Shared UI and layout components
config/             ESLint, Next, Prettier, Sentry, Tailwind, TS, Vitest, Lighthouse
data/               Static academic data (unit catalogue, building maps)
docs/               Architecture, operations, API, policy, security, reference docs
features/           Feature-first client modules (home, calendar, map, settings, auth)
infra/              Docker assets
lib/                Stores, hooks, services, security, utilities, Supabase clients
locales/            35 locale dictionaries
public/             Static assets, icons, map tiles, overlays, service worker
supabase/           Canonical migration history and configuration
tests/              Vitest suites (93 files, 503 tests)
tools/              Repo utilities (i18n, security, exports, load testing)

Full Inventory: Repository Inventory



Quick Start

Prerequisites

  • Node.js >=22 <23
  • npm >=10
  • Supabase project and Upstash Redis instance

Setup

# Clone and install
git clone https://github.com/mrpouyaalavi/syllabus-sync.git
cd syllabus-sync
npm install

# Configure environment
cp .env.example .env.local

# Initialise database
npx supabase link --project-ref <your-project-ref>
npx supabase db push

# Start development
npm run dev

Quality Assurance

npm run check
# Runs: secrets scan → format → typecheck → lint → 503 tests → build


Documentation Map

Document Path
Architecture docs/architecture/ARCHITECTURE.md
Technical Explanation TECHNICAL_EXPLANATION.md
API Reference docs/api/API_REFERENCE.md
Environment Setup docs/operations/ENVIRONMENT_SETUP.md
Deployment Checklist docs/operations/deployment-checklist.md
Docs Index docs/README.md
Security Policy SECURITY.md


Acknowledgements

Built with the support of the open-source community. This project benefits from:

  • Anthropic Claude — AI-assisted architecture and security auditing.
  • Supabase — Open-source backend with RLS.
  • Vercel — Edge deployment infrastructure.

> ping --authors

> Target     : Pouya Alavi Naeini — Full-Stack Developer , Raouf Abedini — Back-end Developer
> University : Macquarie University, Sydney, NSW
> Status     : [●] ONLINE — open to grad & junior opportunities

LinkedIn GitHub Email


Syllabus Sync is an independent open-source project and is not officially affiliated with Macquarie University.

About

Full-stack student productivity platform for Macquarie University students with academic planning, campus support, and multilingual user experience

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors