Sun Be Gone is a mobile app developed using Flutter that helps users determine the best side to sit on a bus to avoid direct sunlight during their journey.
You can download the app from the Play Store.
- Sun Avoidance Prediction: Utilizes real-time data and user location to suggest the optimal side to sit on based on the position of the sun.
- User-Friendly Interface: Simple and intuitive design for easy navigation and usage.
- Flutter SDK
- Clone the repository:
$ git clone https://github.com/moshekravitz/sun_be_gone.git- Navigate to the project directory:
$ cd sun_be_gone- Install dependencies:
$ flutter pub get- Run the app:
$ flutter run- Flutter Framework: Used for building the mobile application.
- Bloc Pattern: Implemented for efficient state management, providing a clear separation between business logic and UI components.
- Custom Sun Position Calculation Package: Developed to calculate the sun's position along the bus route and determine the best seating to avoid sunlight.
This project includes a custom package specifically designed to calculate the position of the sun along a bus route. The package provides functionality for:
- Sun Position Calculation: Determining the sun's position based on geographic coordinates and time, aiding in suggesting the best seat to avoid direct sunlight.
- This part of the package is written using a modified version of the Solar Position Algorithm (SPA)
- Route Analysis: Analyzing the bus route to predict the varying angles of sunlight at different times.
- this includes calculating the overrall sitting position which is done by calculating the the angle between a given direction vector on the route and the sun (for each geopoint of the route)
Contributions are welcome! If you'd like to contribute to this project, please follow these steps:
- Fork the repository
- Create a new branch (
git checkout -b feature/your-feature) - Make your changes
- Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin feature/your-feature) - Create a pull request
This software uses the following open source packages: