Skip to content
Back to projects

Documented case study

Full-Stack Web Application

AYJI E-learning Platform

B.DEV × AYJI project identity artwork
Structure
Personal project - 3 months of development
Period:
September - December 2025
Role
Full-Stack Developer + Database Design (Angular, Node.js, MongoDB)

Angular LMS with learning progress, quizzes, and centralised administration.

Context

AYJI is an educational Single Page Application offering a complete student space (dashboard, course catalog, interactive quizzes) and an admin back office. Built with Angular 19 and NgRx for robust state management, it integrates Socket.io for real-time notifications.

Objective
Build a modern and accessible LMS alternative to expensive foreign platforms

Frontend architecture

AYJI · Frontend responsibility map

01 · Learning interface

Angular 19

  • Courses
  • Quizzes
  • Progress

02 · State management responsibilities

NgRx

Store
Centralized application state
Effects
Side effects and async work
Entity
Helpers for record collections

03 · Reactive asynchronous flows

RxJS

Reactive streams and event composition

04 · Real-time notifications

Socket.io-client

Real-time WebSocket event transport

Frontend responsibilities based on the documented stack. Four layers distinguish feature interfaces, state management, asynchronous streams and real-time delivery without implying runtime wiring or backend architecture.

Features

  • Student dashboard with progress and learning statistics
  • Course catalog with intuitive navigation and advanced filtering
  • Embedded PDF reader and optimized course interface
  • Interactive quizzes (MCQ) with automatic correction and instant feedback
  • Centralized state management with NgRx (Store, Effects, Entity)
  • Real-time notifications with Socket.io-client
  • Full back office for managing users and content
  • Responsive interface (Desktop, Tablet, Mobile) with SCSS

Project proof

Architecture
Angular + NgRx
Data
MongoDB
Notifications
Socket.io

Technologies

  • Angular 19
  • TypeScript
  • NgRx
  • RxJS
  • Node.js
  • MongoDB
  • Mongoose
  • Redis
  • Socket.io
  • PouchDB
  • Cypress
  • SCSS

What I learned

  • Advanced frontend architecture: mastering NgRx (Store, Effects, Entity)
  • Databases: MongoDB + Mongoose (backend), Redis (cache/sessions), PouchDB (offline)
  • Reactive programming: extensive use of RxJS for async flows
  • WebSockets & real-time: integrating Socket.io for notifications
  • Angular best practices: lazy loading, guards, interceptors, modular design

Your privacy choice

The site works without audience measurement. You may allow optional Vercel visit and performance measurement, or refuse it. No measurement script is enabled before you agree.

Understand cookies and storage