Back

Full-Stack Web Application

Revo Education

December 2025 - January 2026 RevoU Personal Project

Tools & Tech Stack

TypeScript React Node.js AWS S3 PostgreSQL Prisma Tailwind CSS JWT Next.js Railway Vercel

Overview

lms overview

Project Summary

RevoEdu is a comprehensive Learning Management System (LMS) designed to facilitate digital education for both students and lecturers. It serves as a centralized platform for course management, content delivery, and assignment tracking, bridging the gap between instructional material and student engagement in a virtual classroom environment.

The project aimed to build a scalable, role-based educational platform. Key objectives included implementing secure authentication for different user types, enabling lecturers to manage course modules and assignments, and providing students with a structured dashboard to track their learning progress, enroll in courses, and submit academic tasks.

I developed the frontend using Next.js 14 and TypeScript, leveraging the App Router for efficient navigation. I implemented a robust role-based access control (RBAC) system with JWT for session management. I integrated AWS S3 for cloud-based file storage and utilized Tailwind CSS to build a responsive, user-friendly interface for both dashboards.

The deliverable is a functional LMS prototype featuring dual-perspective dashboards. It includes features for course browsing, module viewing, assignment submission, and grading. The system is equipped with secure file upload capabilities, automated routing based on user roles, and a clean UI optimized for academic workflows.

Methods

Role-Based Access Control (RBAC): Implementing logic to redirect users to specific dashboards based on their 'Lecturer' or 'Student' status.

Cloud File Management: Utilizing the AWS SDK to handle secure file buffers and S3 bucket uploads.

Middleware Authorization: Using Next.js middleware to intercept requests and validate user permissions before granting page access.

Client-Side State Management: Using React hooks to manage dynamic course filters and assignment submission states.