Actively Developing

ProductRoadmap

Track our journey as we build the future of learning for Ghanaian students. See what we're working on, what's coming next, and our long-term vision.

26

Completed

2

In Progress

11

Planned

7

Deferred

Version History

Platform Versions

Track our stable releases and upcoming milestones as we continuously improve the platform.

Stable
v1.0.0Foundation

January 2026

  • Core authentication system
  • User onboarding flow
  • Basic quiz functionality
  • Flashcard system with spaced repetition
  • Past questions bank
Stable
v1.1.0Learning Enhanced

February 2026

  • Dashboard API integration
  • Real-time WebSocket updates
  • Progress analytics
  • Timetable management
  • Exam schedule tracking
  • Functional analytics charts (ApexCharts)
  • Revenue breakdown cards
  • Real system health alerts
  • Reworked past questions filters
  • Notice Board system with audience targeting
  • Program-scoped timetables & exam schedules
  • Modern PDF export with summary cards
  • Global subscription stats & payment pagination
Current
v1.2.0Experience Refined

March 2026

  • Blog & Articles (Knowledge Hub), TipTap editor, revisions, featured images, dynamic categories
  • Anti-spam security hardening suite (rate limiting, CAPTCHA, MFA, HIBP, device fingerprinting)
  • Email verification mandatory before login
  • Session inactivity timeout (15 min student / 30 min staff)
  • Request logging & IP geolocation monitoring
  • IP whitelisting for admin accounts
  • Jest test infrastructure with 82 integration tests (auth, user, security)
Upcoming
v1.3.0Knowledge Hub

Q3 2026

  • Course learning materials portal
  • Educational video library
  • One-month free trial on registration & email verification
  • Social login (Google + X OAuth)
  • AI-Assisted Mock Exam System with leaderboards
  • Lecturer Revenue Share Portal + GRA tax compliance
  • Research & Thesis management with AI validation
  • Cyber Law reference library
Upcoming
v2.0.0Next Generation

Q4 2026

  • Multi-tier education: SHS, JHS, and Primary support
  • WASSCE and BECE past questions bank
  • Mobile applications (iOS & Android)
  • Offline study mode
  • AI-powered study recommendations
  • Collaborative study groups
Feature Roadmap

What We're Building

Explore our feature pipeline from current work to future plans.

Contentv1.2.0

Blog & Articles (Knowledge Hub)

Completed

Dashboard blog at /dashboard/blogs: lecturers and admins create and publish articles with TipTap editor, featured images, dynamic categories, revisions, and scheduled publish. Students and lecturers see all published articles.

Touchpoints

backend blog model + routesfrontend (dashboard)/dashboard/blogs/TipTap editor, revisions, view count, role-based author display
Quizzesv1.2.0

Quiz: Save Progress & Resume

Deferred

Save answers and current question index when users are in the middle of a quiz. Detect in-progress attempts and offer Resume vs Start new options.

Touchpoints

backend: in-progress attempt model/APIfrontend/src/app/(dashboard)/dashboard/quizzes/[id]/page.tsx

Note

Needs backend persistence, edge case handling for tabs, expiry, and already submitted attempts.

Quizzesv1.3.0

Quiz: Functional Pass Score

Completed

Add optional passScore (0-100, default 70) to Quiz schema. Display configurable pass score on quiz start screen.

Touchpoints

backend/src/models/quiz.model.tsfrontend/src/app/(dashboard)/dashboard/quizzes/create/page.tsxfrontend/src/app/(dashboard)/dashboard/quizzes/[id]/edit/page.tsxfrontend/src/app/(dashboard)/dashboard/quizzes/[id]/page.tsx

Note

passScore field (0–100, default 70) added to schema. Shown on quiz start screen; results screen evaluates Passed/Failed against the configured threshold.

Flashcardsv1.2.0

Flashcards: Excel (.xlsx) Import

Deferred

Accept .xlsx files directly in the create-flashcards import, parsing first sheet with column A as front and column B as back.

Touchpoints

frontend/src/app/(dashboard)/dashboard/flashcards/create/page.tsx

Note

Users can currently use Excel by saving as CSV. Native .xlsx import planned for convenience.

Notice Boardv1.3.0

Notice Board: Attachments Support

Deferred

Allow admins to attach PDFs and images to notices with cloud storage integration and download links.

Touchpoints

backend/src/models/notice.model.tsfrontend NoticeModal.tsx

Note

Consider reusing existing file upload patterns from past questions or profile images.

Notice Boardv1.3.0

Notice Board: Rich Text Editor

Completed

Replace markdown textarea with WYSIWYG editor (TipTap recommended) for easier content formatting.

Touchpoints

frontend/src/components/ui/NoticeEditor.tsxfrontend/src/app/(dashboard)/dashboard/admin/notices/page.tsx

Note

TipTap editor with bold, italic, underline, headings, lists, and link support. HTML rendered with dangerouslySetInnerHTML in the detail view; empty check strips tags before validation.

Notice Boardv1.3.0

Notice Board: Notice Templates

Deferred

Save and reuse notice templates for frequently sent announcements with predefined content and audience.

Touchpoints

backend noticeTemplate.model.tsfrontend template management

Note

Useful for admins who send similar notices frequently.

Notice Boardv1.3.0

Notice Board: Recurring Notices

Deferred

Schedule recurring notices (daily, weekly, monthly) with automatic publishing via cron jobs.

Touchpoints

backend notice modelcron jobs

Note

Single scheduled notices are supported. Recurring adds cron complexity.

Notice Boardv1.3.0

Notice Board: Analytics Dashboard

Deferred

Dashboard showing notice performance with views, read rates, dismiss rates, and engagement trends over time.

Touchpoints

backend analytics endpointsfrontend admin analytics page

Note

Basic read counts included in core implementation. Full analytics is a nice-to-have.

Securityv1.2.0

Anti-Spam Security Hardening Suite

Completed

Full security hardening sprint triggered by a mass spam registration attack. Covers rate limiting, Cloudflare Turnstile CAPTCHA, mandatory email verification, HIBP password breach detection, MFA (TOTP + email OTP), session timeout, request logging with IP geolocation, device fingerprinting, and IP whitelisting for admins.

Touchpoints

backend/src/middlewares/rateLimiter.middleware.tsbackend/src/middlewares/turnstile.middleware.tsbackend/src/middlewares/requestLogger.middleware.tsbackend/src/services/mfa.service.tsbackend/src/utils/hibp.utils.tsbackend/src/models/user.model.ts (new security fields)backend/src/models/requestLog.model.tsbackend/src/controllers/auth.controller.tsfrontend/src/components/auth/SignInForm.tsx (MFA + fingerprint)frontend/src/components/auth/SignUpForm.tsx (Turnstile + strength meter)frontend/src/components/auth/VerifyEmailView.tsxfrontend/src/hooks/useSessionTimeout.tsfrontend/src/components/auth/SessionTimeoutModal.tsx

Note

Prompted by ~700 fake accounts created via unprotected POST /users endpoint. All security standards documented in .cursor/rules/cybersecurity-rule.mdc.

Securityv1.2.0

Mandatory Email Verification

Completed

Email verification is now required before login. SHA-256 hashed tokens are stored in the database. A dedicated /verify-email page handles confirmation, with a resend endpoint (rate-limited to 3/hour). Unverified accounts receive a 403 on login attempts.

Touchpoints

backend/src/controllers/auth.controller.tsfrontend/src/app/(website)/verify-email/page.tsxfrontend/src/components/auth/VerifyEmailView.tsx
Securityv1.2.0

Multi-Factor Authentication (TOTP + Email OTP)

Completed

Two-factor authentication with TOTP (authenticator apps via RFC 6238) and email OTP fallback. Backup codes (SHA-256 hashed, single-use). Two-step login flow: first step returns a tempToken, second step verifies code and issues real JWT tokens. Admin accounts strongly encouraged to enable MFA.

Touchpoints

backend/src/services/mfa.service.tsbackend/src/routes/auth.route.tsfrontend/src/components/auth/SignInForm.tsx

Note

TOTP implemented as pure Node.js crypto (RFC 6238) no third-party library. Compatible with Google Authenticator and Authy.

Securityv1.2.0

Device Fingerprinting & New Device Alerts

Completed

FingerprintJS (open-source) collects a visitor ID on login and compares it against known devices. Unrecognized devices trigger a 'New device login' alert email and require MFA if enabled. Users can list and remove known devices.

Touchpoints

frontend/src/components/auth/SignInForm.tsxbackend/src/controllers/auth.controller.tsbackend/src/routes/user.route.ts (GET/DELETE /me/devices)
Securityv1.2.0

Session Inactivity Timeout

Completed

Automatic session expiry after inactivity: 15 minutes for students, 30 minutes for staff. A 60-second warning modal appears before logout. Cross-tab sync via localStorage storage events.

Touchpoints

frontend/src/hooks/useSessionTimeout.tsfrontend/src/components/auth/SessionTimeoutModal.tsxfrontend/src/context/AuthContext.tsx
Testingv1.2.0

Unit & Integration Tests

Completed

82 tests passing across auth, user, and security integration suites using Supertest + MongoMemoryServer. Unit tests for rate-limiter and Turnstile middleware. Frontend component tests for roadmap and careers pages.

Touchpoints

backend/src/__tests__/integration/backend/src/__tests__/unit/backend/jest.config.tsfrontend/src/__tests__/
Adminv1.2.0

Admin Users: Dedicated Stats Endpoint

Deferred

Add a lightweight API endpoint for the admin users page stat cards (Total Users, Active Users, Lecturers) instead of relying on the heavy dashboard/stats endpoint. Deferred pending redeployment verification.

Touchpoints

backend/src/controllers/admin.controller.tsfrontend/src/app/(dashboard)/dashboard/admin/users/page.tsxfrontend/src/lib/api.ts

Note

Cards currently use dashboard/stats which returns correct global counts. A stale deployed build was likely showing page-level counts. Redeploy first; only implement if issue persists.

Timetablesv1.1.0

Program-Scoped Timetables

Completed

Timetables filtered by student's program with clickable cards, fixed calendar view (exact date matching), accurate color rendering, and mid-semester support.

Exam Schedulesv1.1.0

Program-Scoped Exam Schedules

Completed

Exam timetables restructured with program-scoped filtering and dynamic 'Next Exam' countdown that updates based on the selected timetable card.

Adminv1.1.0

Modern PDF Export with Summary Cards

Completed

Redesigned PDF exports with branded header, dynamic summary cards, professional footer. Fixed Ghana Cedis encoding. Subscription PDF shows only successful transactions.

Adminv1.1.0

Global Subscription Plan Stats

Completed

Subscription page stat cards now show global totals from backend aggregation instead of paginated page data. Payment pagination fixed for 10+ records.

Dashboardv1.1.0

Dashboard Fixes (Favicon, Guards, Activity, Charts)

Completed

Added favicon, fixed SubscriptionProvider race condition, created Activity page, added performance chart to profile page.

Authenticationv1.1.0

Fix: Onboarding Notification Spam

Completed

Login no longer creates duplicate 'Complete Your Onboarding' reminders. Fixed incorrect field path and added a duplicate guard to prevent notification spam.

Quizzesv1.1.0

Fix: Quiz Views Counter

Completed

Quiz views now increment when the quiz detail page is viewed, not only when a session is started. Views and attempts are tracked separately.

Adminv1.1.0

Real System Health Alerts

Completed

Replaced hardcoded mock alerts with real system checks: expired subscriptions, failed payments, pending verifications, and unread notifications.

Adminv1.1.0

Revenue Breakdown Cards

Completed

Admin dashboard and analytics pages now display Total Revenue, Yearly, Quarterly, and Monthly revenue cards powered by real payment data.

Adminv1.1.0

Functional Analytics Charts

Completed

Replaced chart placeholders with real ApexCharts: User Growth (area), Content Engagement (stacked bar), and Revenue Over Time (area) with time range selector support.

Past Questionsv1.1.0

Past Questions Filter Rework

Completed

Dynamic year range (current year to 1900), Faculty dropdown populated from API with university info, Semester filter, and Institution filter now wired to backend.

Dashboardv1.1.0

Dashboard Stats API

Completed

Role-specific dashboard statistics for admin, lecturer, and student views with real-time data.

Infrastructurev1.1.0

Real-time WebSocket Updates

Completed

Socket.IO integration for live updates without page refreshes across all data types.

Flashcardsv1.1.0

Flashcard Progress Tracking

Completed

Daily study progress calculation with cards reviewed, daily goals, and study streaks.

Onboardingv1.0.0

Onboarding Backend Infrastructure

Completed

Complete onboarding service with faculties, programs, and user course management.

Dashboardv1.1.0

Dashboard API Integration

Completed

All dashboard pages connected to real backend APIs with proper hooks and error handling.

Notice Boardv1.1.0

Notice Board System

Completed

Admin-managed notice board with audience targeting (global, role, course, program), markdown support, read tracking, scheduled publishing, and email notifications for important notices.

Growth & Financev1.3.0

Lecturer Revenue Share Portal + GRA Tax Compliance

Planned

Lecturers enrolled in the programme receive a unique referral link to bring students onto the platform. Commission tiers: 30% for monthly, 35% quarterly, 40% yearly. Incentivising annual plan referrals. Payout is annual, net of 10% withholding tax remitted to Ghana Revenue Authority per the Income Tax Act 2015 (Act 896). Platform generates WHT schedules, WHT certificates, and financial statements. Terms & conditions updated with revenue share agreement and full tax disclosure. Lecturers must publish content regularly to stay active (60-day warning, 90-day auto-deactivation).

Touchpoints

backend/src/models/lecturerEarning.model.tsbackend/src/models/lecturerPayout.model.tsbackend/src/models/taxRecord.model.tsbackend/src/services/referral.service.tsbackend/src/services/payout.service.tsbackend/src/services/financialReport.service.tsbackend/src/jobs/activityCheck.job.tsfrontend/src/app/(dashboard)/dashboard/lecturer/earnings/page.tsxfrontend/src/app/(dashboard)/dashboard/admin/payouts/page.tsxfrontend/src/app/(dashboard)/dashboard/admin/tax/page.tsxfrontend/src/app/(website)/terms/page.tsx

Note

GRA TIN required from each lecturer before payout. WHT certificates issued by March 31 annually. Requires legal and accounting review before implementation, particularly VAT registration threshold (GHS 200k/year) and NFSL applicability.

Assessmentv1.3.0

AI-Assisted Mock Exam System

Planned

Lecturers and admins create timed mock exams with multiple choice, open-ended, or hybrid question formats. AI marks open-ended answers objectively with grade and feedback. Auto-submits on timer expiry. Exams can be public or scoped to a specific course or program. A global leaderboard shows student rankings per exam. Exam creators get a full participant table with individual scores and attempt history.

Note

Requires Claude API integration for open-ended AI marking. Leaderboard ranking recomputed on each submission. Anti-cheat measures: randomised question order, single active attempt enforcement, time-boxing. AI marking prompt must be hardened against injection.

Researchv1.3.0

Research & Thesis Management

Planned

Dedicated research workspace where students communicate with assigned supervisors on project topics, with AI-powered topic generation. Students upload research documentation or thesis chapters for AI validation, checking references, structure, and flow. Supervisors can provide remarks, assessments, notes, and chapter-by-chapter approval.

Note

Requires AI model integration for topic generation and document validation. Supervisor approval workflow per chapter.

Legal Studiesv1.3.0

Cyber Law Reference Library

Planned

Dedicated page providing round-the-clock, AI-curated information on IT-related court cases worldwide. IP infringement, trademark disputes, cybersecurity cases, media harassment, and more. Each case includes verdict, status (ongoing/concluded), jurisdiction, and detailed analysis to help students understand and apply international computer law.

Note

Requires AI model with internet access for live case tracking and summarisation.

Learningv1.3.0

Course Learning Materials

In Progress

Dedicated page where administrators create learning material cards for each course students selected during onboarding. Each card links to external storage (Google Drive, Dropbox, etc.) where the actual materials are hosted, giving students easy semester-by-semester access to required readings and resources.

Learningv1.3.0

Educational Video Library

In Progress

A page where students can browse and watch educational videos relevant to their courses and programs. Content curated and uploaded by administrators and lecturers.

Subscriptionsv1.3.0

One-Month Free Trial on Registration

Planned

New students automatically receive one month of full platform access upon completing registration and verifying their email address, no payment required. The trial subscription is created server-side at the point of email verification, giving every new user immediate access to quizzes, flashcards, past questions, learning materials, and videos. A clear banner communicates how many trial days remain and prompts conversion before expiry.

Touchpoints

backend/src/controllers/auth.controller.tsbackend/src/services/subscription.service.tsfrontend/src/app/(dashboard)/dashboard/page.tsx

Note

Trial period is 30 days from email verification date. Must not stack with paid subscriptions. If a student pays during trial, the trial ends and the paid period begins. Admin dashboard should distinguish trial users from paid subscribers in the subscription stats.

Authenticationv1.3.0

Social Login (Google + X OAuth)

Planned

Sign in and sign up with Google or X (Twitter) accounts using OAuth 2.0. Currently the buttons exist in the UI but are placeholder-only with no functionality. OAuth tokens are exchanged for the platform's own JWT, keeping the existing auth architecture intact. Includes account linking for users who have both a password account and an OAuth provider, and handles the X edge case where email is not always returned.

Touchpoints

frontend/src/components/auth/SignInForm.tsxfrontend/src/components/auth/SignUpForm.tsxfrontend/src/app/api/auth/[...nextauth]/route.ts (new)backend/src/controllers/auth.controller.tsbackend/src/models/user.model.ts (googleId, twitterId, provider fields)

Note

Requires Google Cloud Console OAuth app + Twitter Developer OAuth 2.0 app setup (dev + prod). NextAuth.js v5 handles PKCE and state parameters. X does not always return email. Post-OAuth prompt required for missing email case.

Platform Growthv2.0.0

Multi-Tier Education: SHS, JHS & Primary (GES + Cambridge)

Planned

Expand beyond tertiary to serve Senior High School, JHS, and Primary students across Ghana. Ghana has two curriculum systems: GES (national syllabus, public schools) and Cambridge (international and elite private schools). Students select their curriculum body on onboarding, all content, subjects, topics, and past papers are filtered to their syllabus. Cross-syllabus browsing is always available. GES content covers WASSCE and BECE past papers; Cambridge covers IGCSE and A-Level past papers. Dashboard personalised by tier, curriculum body, and level.

Touchpoints

backend/src/models/curriculumLevel.model.ts (new: tier + curriculumBody)backend/src/models/subject.model.ts (new: GES + Cambridge subjects)backend/src/models/user.model.ts (educationTier, curriculumBody, curriculumLevel fields)backend/src/routes/curriculum.route.ts (new)frontend onboarding: tier → curriculum body (GES/Cambridge) → level → subjectsfrontend/src/app/(dashboard)/dashboard/browse/shs/ges + cambridgefrontend/src/app/(dashboard)/dashboard/browse/jhs/ges + cambridgefrontend/src/app/(dashboard)/dashboard/past-questions (tier + body + examYear filters)

Note

Requires WAEC licensing for WASSCE/BECE content and Cambridge Assessment licensing for IGCSE/A-Level past papers. Cambridge syllabus versioning (updated every few years) must be handled in content tagging. Pricing decision needed: same as tertiary or discounted pre-tertiary rates.

Mobilev2.0.0

Mobile Applications

Planned

Native iOS and Android applications for studying on the go with offline support.

AI & MLv2.0.0

AI Study Recommendations

Planned

Intelligent study suggestions based on performance patterns and learning goals.

Socialv2.0.0

Collaborative Study Groups

Planned

Create and join study groups with shared flashcards, quizzes, and discussion boards.

Mobilev2.0.0

Offline Study Mode

Planned

Download content for offline access with automatic sync when back online.

Recent Updates

Changelog

Latest improvements and bug fixes.

v1.2.0March 2026

Security Hardening Suite & Blog

  • Anti-spam registration hardening: Redis-backed rate limiting on all public write endpoints
  • Cloudflare Turnstile CAPTCHA on registration endpoint
  • Mandatory email verification before login (403 if unverified)
  • Disposable/throwaway email domain blocking at registration
  • HaveIBeenPwned k-anonymity password breach check on registration
  • Multi-Factor Authentication: TOTP (Google Authenticator / Authy) + email OTP fallback
  • MFA backup codes (SHA-256 hashed, single-use); two-step login flow with tempToken
  • Session inactivity timeout (15 min students / 30 min staff) with warning modal
  • Device fingerprinting: new device alert emails + MFA required on unknown devices
  • IP whitelisting for admin and super_admin accounts
  • Request logging to MongoDB with IP geolocation (geoip-lite) and 90-day TTL
  • Password strength meter on signup form (4-bar indicator + requirements checklist)
  • Jest test infrastructure: mongodb-memory-server, ts-jest, unit tests for middleware
  • Blog & Articles: TipTap editor, featured images, scheduled publish, revision history
v1.1.2February 2026

Timetables, Exports & Admin Improvements

  • Program-scoped timetable cards with dynamic Today's Classes, Week, List, and Calendar views
  • Calendar view fix: classes display on exact stored date, not every matching weekday
  • Color rendering fix: exact selected color used in all timetable views
  • Mid-semester timetable support as separate program-specific cards
  • Program-scoped exam schedules with dynamic 'Next Exam' countdown
  • Redesigned PDF export with branded header, summary cards, and professional footer
  • Fixed Ghana Cedis (GH₵) display in PDF/CSV exports
  • Subscription PDF now shows only successful transactions
  • Global plan stats for subscription cards (not page-level)
  • Payment pagination fix and spacing improvements
  • Dashboard: favicon, auth guard fix, activity page, profile performance chart
v1.1.1February 2026

Dashboard & Analytics Fixes

  • Fixed onboarding notification spam on every login
  • Quiz views now track detail page visits (not just session starts)
  • Replaced mock system alerts with real health checks
  • Added revenue breakdown cards (Total, Yearly, Quarterly, Monthly)
  • Functional analytics charts with ApexCharts (User Growth, Content Engagement, Revenue Over Time)
  • Reworked past questions filters: dynamic years, Faculty from API, Semester dropdown, Institution wired to backend
v1.1.0February 2026

Learning Enhanced Release

  • Dashboard API integration complete
  • Real-time WebSocket updates
  • Flashcard progress tracking
  • Improved timetable management
  • Notice Board system with audience targeting, markdown, scheduling, and read tracking
v1.0.0January 2026

Foundation Release

  • Core authentication system
  • User onboarding flow
  • Quiz and flashcard functionality
  • Past questions bank

Have a Feature Request?

We're always looking to improve. Share your ideas and help shape the future of GhCyberPrep.

Last updated: March 2026 • Roadmap is subject to change based on priorities and feedback