About the Project
BusInfo is an Internet of Things (IoT) project designed to provide real-time bus information to users. Developed as part of my final project for my third year of school, this system aims to enhance public transportation experiences by delivering timely updates on bus schedules and locations. Additionally, it includes a free API that allows other developers to access this information and integrate it into their own applications.
Technologies Used
Frontend
- Next.js with TypeScript and Tailwind CSS: For building the web application.
- Flutter with Dart: For the mobile application.
- Kinde Auth: For authentication in the mobile app.
- NextAuth: For authentication on the website.
Backend
- MongoDB: For scalable and flexible data storage.
- Go: For developing the REST API that provides real-time bus information.
Hosting
- Vercel: For hosting the website, the API, and the documentation.
Documentation
- Mintlify: For creating and managing the API documentation website, providing an accessible and user-friendly interface for developers.
API Integration
- REST API created with Go: Allows other developers to access real-time bus information and integrate it into their applications.
Reasons to Use These Technologies
The selection of technologies for this project was driven by a combination of curiosity and experience. I chose Next.js to further explore modern web development frameworks, particularly appreciating its server-side rendering and static site generation capabilities. My internship at Critical Software introduced me to Go, and its performance and simplicity made it the ideal choice for developing the REST API. Leveraging my existing knowledge, I incorporated TypeScript, Flutter, MongoDB, and Tailwind CSS into the project, which ensured a smooth development process and a robust final product.
For hosting, Vercel stood out due to its effortless setup, reliability, and seamless integration with Next.js, enabling quick and efficient deployment of the website, API, and documentation. To enhance the documentation experience, I opted for Mintlify, which offers an interactive widget that allows users to test API endpoints directly on the website, making the documentation more accessible and developer-friendly.