← Back to work
Collegiate ProjectUniversity of San Carlos · April 2025

Course Management System

Developed a robust, web-based Course Management System using a Next.js frontend and Laravel backend, designed to streamline administrative workflows for academic faculty. This platform facilitates efficient oversight of handled and enrolled courses through a secure, high-performance interface. Key features include real-time data management, and a fully responsive design that ensures seamless functionality across all devices, effectively replacing manual tracking with a centralized, automated solution.

Overview

Course Management System is an instructor-facing web application that streamlines class list management. Built as a full-stack project using Next.js and Laravel, it gives instructors a centralized place to upload, manage, and track their assigned course rosters, without touching spreadsheets manually after the initial import.

Features & Functionality

Instructors log in and land on a dashboard showing their assigned course cards. Clicking a course opens the full class list for that section. Rosters are imported via CSV upload, making initial population fast. From there, instructors can add late enrollees manually, edit student names, and delete students who have dropped the course. An activity log tracks every action taken; uploads, additions, edits, and deletions, giving instructors a clear audit trail of changes made over time. Access is scoped per instructor, meaning each user only sees the courses assigned to them and can only upload CSVs corresponding to those courses.

Technical Implementation

The frontend is built with Next.js, handling routing and UI. The backend is a Laravel REST API managing authentication, course-instructor assignment, CSV parsing, and student CRUD operations. MySQL serves as the database. The separation of frontend and backend means the two layers communicate via API calls, with Laravel enforcing the access control logic server-side.

Reflection

This project was my first time working with Laravel as a backend framework. Wiring it together with Next.js — handling auth tokens, scoping data per instructor, and parsing CSV uploads correctly, was the most involved part. Next.js was already familiar territory, but learning Laravel's routing, and API structure added a meaningful new layer to the stack. Given more time, I'd add bulk edit support and export functionality so instructors could pull updated rosters back out as CSV after making changes.

Team

Piolo Pascual E. Besinga
Full-Stack Developer
Bea Belle Therese B. Caños
Full-Stack Developer
May G. Ochia
Full-Stack Developer

Tech Stack

Next.jsLaravelMySQL

Links

← All projectsNext: Jerango Warehouse Manager →