Welcome to FudgeBuses! This web application aims to provide a reliable platform for users to report and track bad bus services that are consistently late or canceled. Understanding the frustrations of relying on public transport, FudgeBuses empowers users to share their experiences and helps create a transparent environment for making informed travel decisions.
My Mission
The mission of FudgeBuses is to give users a voice in reporting their experiences with bus services. The app enables users to easily report late or canceled services, providing a historical overview of bus service performance in their area. Users can will be able to view the collective data submitted by others, helping everyone stay informed about local bus services. Additionally, FudgeBuses hopes that this will put pressure and encourage bus companies to improve their services.
Why Track Bus Services?
Public transportation is a vital part of many communities but can often be unreliable. By tracking bus services with FudgeBuses, users can identify patterns in service disruptions, improve accountability for bus companies, and find alternative travel options when needed. This platform aims to make public transportation more reliable and user-friendly for everyone.
As a user, I can create an account so that I can report buses and keep track of my regular bus routes.
As a user, I can login to my account.
As a user, I can have a dedicated homepage with a quick view of personalized information.
As a user, I can fill in a form to report buses.
As a user, I can edit and delete my prior reports so that I can fix mistakes.
As a user, I can logout.
Landing Page
The landing page is designed with a simplified user experience in mind, offering an uncluttered interface for quick registration or login. The strategic approach aims to attract users through advertising and organic word-of-mouth referrals.
About Page
The About Page provides an insightful overview of FudgeBuses, detailing its mission and vision. It serves to educate users about the platform's purpose and the value it brings to the community.
Navigation Bar
The navigation bar is thoughtfully integrated into the user interface, providing logged-in users with effortless access to essential features. For administrators, a distinct navigation bar appears, tailored to facilitate efficient site management and oversight.
Report Form
The Report Form allows users to easily select bus routes and stops, enabling them to report the status of their journeys—whether a bus is late, canceled, or on time. This feature empowers users to contribute to the community's knowledge of service reliability.
Report History
The Report History section offers users a comprehensive view of their past submissions, allowing them to edit or delete reports as necessary. This feature fosters transparency and encourages users to keep their contributions current and relevant.
APIs for Data Management
Integration of APIs to import and update all bus route information and data, ensuring users have access to the latest service details.
Heat Maps
Implementation of heat maps to visually represent the quality of bus services, highlighting areas with good and bad service performance for easy user reference.
Account Management
Robust account management features that empower users to control their settings, preferences, and personal information with ease.
Mobile Notifications
Notifications for mobile devices to prompt users to submit reports on their bus services, enhancing community engagement and data collection.
User Interface Improvements
Continuous enhancements to the user interface and overall design of the application, aimed at providing a more intuitive and enjoyable user experience.
Performance Analytics
Users can generate graphs and tables to analyze the performance of their bus routes over specified time periods, offering insights into service reliability and trends.
For FudgeBuses, I used Agile planning to stay organized throughout the project. GitHub Projects was a helpful tool where I could create tasks, boards, and milestones.
I followed the MoSCoW Prioritization method to decide what features were most important for FudgeBuses which i applied to labels in the user stories:
Using this method helped keep me focused on what mattered most during development.
For deployment on Heroku, I used the Code Institute produced guide. A copy of which can be found here.
I would like to acknowledge the following resources and tools that contributed significantly to the development of FudgeBuses:
Django Documentation
For detailed guidance and comprehensive explanations on the core components of Django, including views, models, and URL routing:
Django Documentation
Satyarepala's Medium Article
A comprehensive guide to understanding and working with Django views:
Understanding Django Views
W3Schools Django Guide
For clear and concise tutorials on Django:
W3Schools Django Tutorial
Figma
For creating wireframes and designing the layout of the application:
Figma
drawSQL
Used for generating the Entity-Relationship Diagram (ERD) for the database schema:
drawSQL
ChatGPT
For assistance with debugging, checking code for PEP 8 standards, and generating content for the about.html
page:
ChatGPT
PerplexityAI
For providing explanations and breaking down complex code blocks to enhance my understanding:
PerplexityAI
StackEdit
Used for editing and formatting the markdown in the README and documentation:
StackEdit
Prior Student Projects
Used for looking at examples of how prior projects were done in the past, and their scope:
Kieran's CI Capstone Project
Rachbry's Django Cookbook
Hibo Ibrahim's The Book Booth