← all projects

June 1, 2025

BCA · 8th semester · 2082 BS · 2025 AD

LearnMate — an e-learning platform

BCA 8th semester final project: a study platform with summaries, flashcards, quizzes, and spaced repetition, plus a BART summarization microservice.

built with Next.js · React · TypeScript · Tailwind CSS · ShadCN · Fastify · Prisma · PostgreSQL · Python · FastAPI · Hugging Face Transformers (BART) · JWT

  • nextjs
  • fastify
  • postgresql
  • ai
  • e-learning

Report & documents

Report

Course guideline

  • Project (III) course guideline

    The 8th-semester brief this project was built against.

LearnMate — an e-learning platform screenshot

⚠ final report, not updated

Final report as submitted for coursework. Suggestions raised during the external evaluation have not been addressed — the report and the code reflect the submitted version.

Status: not maintained.

LearnMate was my BCA 8th-semester final project: a study platform that turns course material into summaries, flashcards, and quizzes, then schedules reviews with a spaced-repetition algorithm.

What it does

  • Materials — create study material from existing sources and organise it by subject.
  • Summaries — abstractive summarization through a dedicated AI microservice.
  • Practice — flashcards and generated quizzes for active recall.
  • Spaced repetition — an SM-2 based scheduler adapts review intervals to each learner.
  • Progress — track study activity over time.
  • Reports — generate DOCX reports from study data (chunked on the server).

Architecture

LearnMate is split into a Next.js client, a dashboard, a Fastify API, and a separate Python service for AI work. The Fastify backend owns the domain logic (auth, scheduling, DOCX generation, report chunking) over PostgreSQL via Prisma, while the Python service handles text cleaning, tokenisation, and summarization and returns results to the TypeScript API.

Layer Choice
Frontend Next.js, React, TypeScript, Tailwind, ShadCN
Backend Fastify, Prisma ORM
Database PostgreSQL
AI service Python, FastAPI, Hugging Face Transformers (BART)
Auth JWT

Repositories

Four repos: the LearnMate client, LearnMate-Dashboard, the learnmate-api Fastify backend, and learnmate-fastapi-microservice for BART summarization.

Known limitations

There is no live deployment — the repositories are archived. The report’s design is complete, but no follow-up work was done after the external evaluation.

Screens & diagrams

Class diagram
Class diagram
Object diagram
Object diagram
Sequence diagram
Sequence diagram
Activity diagram
Activity diagram
State diagram
State diagram
Component diagram
Component diagram
Deployment diagram
Deployment diagram

more projects

all projects →

from the blog

all blogs →

comments