University Shuttle Bus App

A full-stack web application developed for a Software Engineering II course, providing real-time shuttle tracking for a university campus.

View on GitHub

As a core requirement for our Software Engineering II course, my team and I designed, developed, and deployed a comprehensive University Shuttle Bus App. The project’s goal was to provide a centralized, real-time solution for students and administrators to track campus shuttles, view schedules, and receive timely announcements.

I served as the Project Manager and lead developer, taking charge of the foundational architecture and infrastructure. My primary responsibility was to establish a robust and scalable environment, orchestrate the development lifecycle from requirements gathering to final deployment, and ensure all components integrated into a cohesive final product.

User Dashboard
Admin Dashboard for Route Management
AWS EC2 Instance Console
Click any image to enlarge. From left to right: The user dashboard, the admin dashboard for CRUD operations on routes, and the AWS EC2 console for the production server.

Core Features:

  • Real-Time Shuttle Tracking: Users can view the current position of all active shuttles on a map and see estimated arrival times.
  • Role-Based Dashboards: The application features distinct, secure dashboards for three user types: Admin, User, and Driver, each with a unique set of permissions.
  • Administrative Control: Admins have full CRUD (Create, Read, Update, Delete) functionality over shuttle routes, announcements, and user subscriptions.
  • Driver & User Interaction: Drivers can post real-time announcements (e.g., delays), and users can view schedules and subscribe to specific routes for updates.

My Key Contributions & Responsibilities:

  • Infrastructure & Deployment (LAMP on AWS):

    • Provisioned and configured an Ubuntu EC2 instance on AWS to serve as the production environment.
    • Deployed a full LAMP stack (Linux, Apache, MySQL, PHP), including establishing an Elastic IP address to ensure a static endpoint for the application.
    • Managed the entire deployment process, from initial static prototypes on GitHub Pages to the final dynamic application on AWS.
  • Project Management & Architecture:

    • Led the team in designing the application’s architecture and defining the functional and non-functional requirements.
    • Managed the GitHub organization and repository, coordinated team check-in meetings, and integrated code from all group members into the main PHP stack.
    • Designed and implemented the MySQL database schema, including tables for users, routes, stops, subscriptions, and announcements, ensuring relational integrity.
  • Full-Stack Development & UX:

    • Developed the core front-end pages, including the landing page and all user dashboards, implementing a dark-mode theme via a global stylesheet.
    • Engineered the back-end authentication and session management in PHP, directing users to distinct Admin, User, and Driver dashboards based on their assigned roles.
    • Implemented a Singleton design pattern to condense dashboard views, ensuring a clean and maintainable codebase for future development.

Technical Stack:

  • Back-End: PHP, MySQL, Apache
  • Front-End: HTML, CSS, JavaScript, Bootstrap
  • Infrastructure: Amazon Web Services (AWS) EC2, Ubuntu Linux
  • Version Control: Git & GitHub