Skip to content

Rebuilding MMU's e-learning platform to be faster, mobile-friendly, and user-focused — improving UI/UX, accessibility, performance, and overall learning experience for both students and lecturers.

Notifications You must be signed in to change notification settings

SK3CHI3/MMU-E-LRNG-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Multimedia University of Kenya's Digital Learning Platform

(DATABASE CURRENLY DEACTIVATED)

Elevating Learning, Empowering Futures

📋 Overview

The MMU Learning Management System (LMS) is a comprehensive digital platform designed to enhance the educational experience at Multimedia University of Kenya. This modern web application provides students, lecturers, and administrators with a centralized hub for managing academic activities, accessing learning resources, and facilitating communication within the university community.

🎉 PRODUCTION READY STATUS

  • Unit-based Academic System - Completely removed credit system, now uses unit-based tracking
  • Fee Management System - Student fees, payment history, and balance tracking with M-Pesa integration
  • Programme Management - Academic programmes (Bachelor's, Master's) with proper MMU structure
  • Academic Calendar - Semester and academic year management with real dates
  • Comprehensive Announcement System - Public/internal announcements with priority levels and targeting
  • Analytics Dashboards - Real-time analytics for lecturers and deans with interactive charts
  • Enhanced Security - Row Level Security (RLS) policies for all data access
  • Performance Optimized - Database indexes and query optimization for production
  • Frontend-Backend Integration - All services updated and tested with new database structure
  • Production Database - Deployed to Supabase (eekajmfvqntbloqgizwk) with sample data
  • Clean Codebase - Removed all test files and debug components for production readiness
  • Comprehensive Documentation - Complete API docs, deployment guides, and user manuals
  • Ready for Deployment - All systems tested and verified for production use

✨ Features

For Students

  • Dashboard: Personalized overview with MMU-themed blue interface and real-time announcements
  • Course Management: Access to enrolled courses, learning materials, and lecture notes
  • Assignment Submission: Digital submission and tracking of assignments
  • Grade Tracking: Real-time access to grades and academic progress with visual analytics
  • Class Sessions: Schedule and information about upcoming and past classes
  • AI Learning Assistant: 24/7 "Comrade AI" tutor for academic support
  • Announcements: Priority-coded announcements with public/internal visibility
  • Notifications: Important alerts about deadlines, grades, and university announcements

For Lecturers

  • Course Administration: Tools to manage course content, materials, and student enrollment
  • Assignment Creation: Create, distribute, and grade assignments
  • Student Progress Tracking: Monitor student performance and engagement with analytics dashboards
  • Attendance Management: Track and record student attendance
  • Announcement Management: Create targeted announcements for students and courses
  • Analytics Dashboard: Real-time insights into course performance and student engagement
  • Communication Tools: Direct messaging and announcement capabilities

For Administrators

  • User Management: Comprehensive tools for managing student and staff accounts
  • System Configuration: Customization options for the LMS platform
  • Analytics Dashboard: Insights into system usage and academic metrics
  • Announcement Management: Create system-wide announcements with priority levels
  • Department Management: Tools for organizing courses by department and faculty
  • System Monitoring: Real-time system health and activity tracking

🛠️ Technology Stack

Frontend

  • React: JavaScript library for building the user interface
  • TypeScript: For type-safe code and enhanced developer experience
  • Tailwind CSS: Utility-first CSS framework for styling
  • shadcn/ui: High-quality UI components built with Radix UI and Tailwind
  • React Router: For navigation and routing
  • React Query: For efficient data fetching and state management
  • Recharts: For data visualization and analytics
  • React Hook Form: For form validation and handling

Backend

  • Supabase: Backend-as-a-Service platform providing:
    • Authentication: Secure user authentication and authorization
    • PostgreSQL Database: Robust relational database for data storage
    • Row Level Security (RLS): For data protection and access control
    • Storage: For file uploads and management
    • Realtime Subscriptions: For live updates and notifications

Development Tools

  • Vite: Next-generation frontend tooling for fast development
  • ESLint: For code linting and maintaining code quality
  • Git: For version control and collaboration

🚀 Getting Started

Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn package manager
  • Git

Installation

  1. Clone the repository

    git clone https://github.com/SK3CHI3/MMU-E-LRNG-.git
    cd MMU-E-LRNG-
  2. Install dependencies

    npm install
    # or
    yarn install
  3. Set up environment variables

    • Create a .env.local file in the root directory
    • Add the following variables:
      VITE_SUPABASE_URL=your_supabase_url
      VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
      
  4. Set up the database

    • Create a new Supabase project at supabase.com
    • Go to the SQL Editor in your Supabase dashboard
    • Run the deployment scripts in order:
      -- 1. First, run the schema deployment
      -- Copy and paste contents of database/deploy.sql
      
      -- 2. Then, add sample data (optional for testing)
      -- Copy and paste contents of database/deploy_sample_data.sql
    • Verify deployment by checking the new tables in the Table Editor
  5. Start the development server

    npm run dev
    # or
    yarn dev
  6. Open your browser

    • Navigate to http://localhost:8080 to see the application

📢 Announcement System

The MMU LMS features a comprehensive announcement system designed for effective communication:

Features

  • Priority Levels: Urgent, High, Normal, Low with color-coded visual hierarchy
  • Public/Internal Visibility: Announcements can be public (shown on landing page) or internal only
  • Targeted Messaging: Target specific audiences (all users, students, lecturers, faculty, specific courses)
  • Rich Content: Support for external links, expiry dates, and categorization
  • Real-time Notifications: Automatic notifications sent to target users
  • Interactive Display: Dismissible announcements with read-more functionality

Visual Design

  • Urgent Announcements: Red border and high visibility styling
  • High Priority: Orange border for important announcements
  • Public Announcements: Green border with globe icon
  • Normal/Low Priority: Blue/gray styling for standard announcements

Management

  • Admin Control: System-wide announcements with full targeting options
  • Lecturer Control: Course-specific and faculty-wide announcements
  • Analytics Integration: Track announcement engagement and effectiveness

📊 Analytics Dashboard

Real-time analytics provide insights into academic performance and system usage:

Lecturer Analytics

  • Course Performance: Student enrollment trends and grade distributions
  • Engagement Metrics: Assignment completion rates and student participation
  • Interactive Charts: Line charts, pie charts, and bar graphs for data visualization

Dean Analytics

  • Faculty Overview: Complete faculty statistics and performance metrics
  • Department Distribution: Student and lecturer distribution across departments
  • Growth Tracking: Enrollment trends and quarterly growth analysis

📱 Responsive Design

The MMU LMS is designed to be fully responsive, providing an optimal experience across a wide range of devices:

  • Desktop computers
  • Laptops
  • Tablets
  • Mobile phones

🔒 Security Features

  • Authentication: Secure email/password authentication
  • Authorization: Role-based access control (student, lecturer, admin)
  • Data Protection: Row Level Security (RLS) policies in Supabase
  • Secure API: Protected API endpoints
  • Input Validation: Comprehensive form validation to prevent security vulnerabilities

🎨 Design & Theming

MMU Kenya Official Theme

  • Primary Colors: Official MMU blue (#0066CC) with red accents (#DC2626)
  • Glass Morphism: Modern glassmorphic header design with backdrop blur effects
  • Clean Interface: Professional, clean design focused on usability
  • Responsive Cards: Well-designed cards with proper spacing and typography

Dark Mode Support

The application includes a built-in dark mode toggle, allowing users to choose their preferred theme:

  • Light mode for daytime use with MMU blue theme
  • Dark mode for reduced eye strain in low-light environments
  • Automatic theme persistence across sessions

🔄 Continuous Development

This project is under active development with planned enhancements including:

  • Real-time chat functionality
  • Advanced analytics dashboard
  • Integration with video conferencing tools
  • Mobile application versions
  • AI-powered learning recommendations

👥 Contributors

📄 License

This project is proprietary software developed for Multimedia University of Kenya.


© 2024 Multimedia University of Kenya. All Rights Reserved.

(Database isn't functional)

About

Rebuilding MMU's e-learning platform to be faster, mobile-friendly, and user-focused — improving UI/UX, accessibility, performance, and overall learning experience for both students and lecturers.

Topics

Resources

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •