What inspired me

BusSeat Live was inspired by the idea that seat availability can depend on a passenger's specific journey. A seat may be occupied during one part of a route but become available later. I wanted to create a prototype that could show whether a seat is fully available, partially available, or unavailable based on the passenger's starting point and destination.

What I learned

Through this project, I learned how to build an interactive multi-page website using HTML, CSS, and JavaScript. I also learned how to filter data, use URL parameters to pass information between pages, work with JavaScript arrays and objects, and deploy a website using GitHub and GitHub Pages.

How I built it

I built BusSeat Live as a front-end web prototype. Users can search for buses by route or bus number, view matching buses, and select seats. I used JavaScript to store sample bus and booking data and calculate seat availability based on the user's journey. The project was then uploaded to GitHub and deployed as a live website using GitHub Pages.

Challenges I faced

The biggest challenge was implementing realistic journey-based seat availability. Initially, seats had fixed colours, but I realised this was not accurate because a seat's availability changes depending on the user's journey. I improved the logic by comparing the user's starting and destination locations with existing seat bookings. Connecting the different pages and passing search information correctly between them was another challenge I worked through.

Built With

Share this project:

Updates

Submission history