1. Project Overview
Stream LMS is a modern, responsive web-based Learning Management System developed as a final year project for the Computer Science Department at The Polytechnic, Ibadan.
The platform enables digital delivery of course materials, assignment submission, grading, and communication between students, lecturers, and administrators.
2. Objectives
- Provide a centralized platform for academic resources and activities
- Enable paperless assignment submission and instant grading feedback
- Improve accessibility to learning materials for students
- Allow lecturers to efficiently manage course content and assessments
- Give administrators full control over users, courses, and system settings
- Deliver a mobile-friendly interface suitable for smartphone users
3. System Features
- Responsive & mobile-first design
- Orange-themed professional UI
- Role-based access control (Student, Lecturer, Admin)
- Secure file uploads (materials & assignments)
- AJAX-powered student assignment submission
- Automated grade calculation & letter grading (A–F)
- Global & course-specific statistics for admin
- Animated cards, smooth transitions, glassmorphism navigation
- Success/error alerts & real-time feedback
4. Technology Stack
| Category | Technology/Tool | Purpose |
| Backend | PHP 8+ | Server-side logic & database operations |
| Database | MySQL / MariaDB | Data storage & retrieval |
| Frontend | HTML5, CSS3, Bootstrap 5 | Responsive user interface |
| Icons | Ionicons 7 | Modern, clean icons |
| Fonts | Plus Jakarta Sans | Professional & readable typography |
| Charts | Chart.js | Visual reports & statistics |
| Security | Prepared Statements, password_hash() | Protection against SQL injection & secure passwords |
5. User Roles & Permissions
| Role | Dashboard | Courses | Materials | Assignments | Grading | Users | Settings |
| Student | Yes | View | View/Download | Submit | View | No | No |
| Lecturer | Yes | Manage | Upload/View | Create/Grade | Grade | No | No |
| Admin | Yes | Full | — | Overview | Grade | Full | Full |
6. Database Structure (Main Tables)
- users — id, username, fullname, email, phone, password, role, date
- courses — id, code, title, description, lecturer_id, date
- materials — id, course_id, title, description, file_path, uploaded_by, date
- assignments — id, course_id, title, description, max_marks, due_date
- submissions — id, assignment_id, student_id, file_path, marks, feedback, submitted_date, graded_date
7. Visual Identity & Design Theme
- Primary Color: Orange (#f97316)
- Dark Hover: #ea580c
- Success: #10b981
- Danger: #ef4444
- Background: Light gray #f8fafc
- Cards: White with shadow
- Font: Plus Jakarta Sans
- Icons: Ionicons 7
- Navigation: Glassmorphism bottom bar with orange active state
8. Modules & Pages Summary
Student Module
- index.php (Dashboard)
- courses.php
- materials.php
- assignments.php
- course.php
- grades.php
Lecturer Module
- index.php (Dashboard)
- courses.php
- course_manage.php
- materials_upload.php
- materials_view.php
- assignments_manage.php
- grade_submissions.php
Admin Module
- dashboard.php
- users.php
- user_add.php
- user_edit.php
- user_delete.php
- courses_admin.php
- course_edit.php
- course_delete.php
- grade_submissions.php
- reports.php
- settings.php
9. Security & Best Practices
- All database queries use prepared statements
- Passwords hashed with SHA1 + bcrypt
- Role-based access control (RBAC) on every page
- File uploads restricted to safe extensions
- Input sanitization & trimming
- Session management & secure logout
10. Installation & Setup Guide
- Upload all project files to server (htdocs/stream/)
- Create MySQL database named
stream_lms
- Import database schema (users, courses, materials, assignments, submissions)
- Update database credentials in
stream.php
- Create folders:
/uploads/materials/ (chmod 755)
/uploads/assignments/ (chmod 755)
- Manually insert first admin user in
users table:
- role = 'admin'
- password = password_hash(sha1('admin123'), PASSWORD_DEFAULT)
11. Conclusion & Recommendations
Stream LMS successfully meets the requirements of a modern polytechnic learning management system. It is secure, user-friendly, mobile-responsive, and ready for future expansion.
Recommendations for future work:
- Implement student course enrollment system
- Add real-time notifications (email & in-app)
- Include discussion forums per course
- Generate printable result transcripts
- Develop PWA support for offline access
12. Acknowledgements
I express my sincere gratitude to:
- My project supervisor for guidance and support
- The Department of Computer Science, The Polytechnic Ibadan
- All lecturers and friends who contributed ideas and encouragement
- Almighty God for strength and wisdom throughout this project