A full-featured student management platform designed for educational institutions to manage enrollment, attendance, grades, and communications. Built with Laravel and MySQL, it features real-time data synchronization and scalable AWS deployment.
Tech Stack
Key Features
- Multi-role authentication (e.g., Teacher / Student) with custom guard redirects
- Classroom & course management (CRUD) with clean admin workflows
- Smart weekly class scheduling with recurring sessions (class_recurrences → generated class_sessions via scheduled jobs)
- Automatic time-clash detection to prevent overlapping classes
- Attendance marking by teachers with paginated/infinite student lists for performance
- Real-time updates (Laravel Broadcasting + Echo) for live classroom events (e.g., enrollment / attendance visibility)
- Student enrollment into courses with instant teacher-side updates
- Student attendance dashboard (view attendance per enrolled course)
- Production-ready deployment on a DigitalOcean droplet using Docker Compose, Traefik for HTTPS routing, and Nginx + PHP-FPM
- Background jobs & queues managed with Redis + Supervisor + cron scheduling
- CI/CD pipeline via GitLab for automated build + deploy
- Optional unit/integration testing (backend + frontend) to validate critical flows
- Custom domain managed via AWS Route 53 with HTTPS enabled using Let's Encrypt
System Design
The application is deployed through a GitLab CI/CD pipeline that automates the entire deployment process. When code is pushed to the repository, the pipeline automatically builds, tests, and deploys the application to the Digital Ocean droplet.
The pipeline deploys the application directly to a Digital Ocean droplet. Upon SSH access to the droplet, you can verify all running containers, ensuring the application is properly containerized and running in isolated environments.
The application is fully containerized using Docker, providing consistent environments across development, staging, and production. All containers are visible and manageable when accessing the Digital Ocean droplet via SSH, demonstrating proper container orchestration and management.
The site is secured with HTTPS encryption using Let's Encrypt SSL certificates. This ensures all data transmitted between the client and server is encrypted, providing a secure and trustworthy experience for users.