With the energy crisis hitting Britain in September 2021 and worries of a fuel shortage, we devised an app to help people avoid queues and save the environment. FuelOpt is a user-friendly, open-source, platform-independent and socially-helpful app that assists motorists in planning and optimising their fuel-filling journeys in terms of cost, time, and fuel efficiency. Currently, the application focuses on the geographic area of London, UK, where the shortage was most prominent.
Check out our presentation video here.
The FuelOpt project documentation is located at doc/api documentation. Alternatively, you can find it here: http://18.170.63.134:8000/api-docs/
Before you begin, ensure you have met the following requirements:
- You installed of all the required Python modules with:
pip install -r backend/requirements.txt
- You are using Python >= 3.8.
- You have entered your API keys (e.g AWS, Google) where necessary. The config_sample.py in the sample directory illustrates how the API key should be in the config.py file you will must create.
To try this app on an Android device, scan the QR code or use the link below on that device.
Due to Apple's strict distribution guidelines, only the developmental build can be accessed for now. To run this build, an Apple machine with Xcode is required.
- Setup the development environment
- Clone this repository.
- Generate your own Google Maps API key from here and supply it in the src/ios/Runner/keys.strings file by replacing "API_KEY_HERE".
- Generate your own LocationIQ key from here and supply it in the src/keys.env file by replacing "API_KEY_HERE".
- Configure your iOS device for testing
- Open the src/ios/Runner.xcworkspace folder in Xcode.
- Make sure your iOS device is connected, on, and unlocked.
- Press the play button in the top menu bar of Xcode.
- Install the Flutter SDK from here: https://flutter.dev/docs/get-started/install.
- Make sure to set the PATH variable as mentioned in the installation link to access the Flutter command-line interface.
- Install Cocoapods from here: https://cocoapods.org
- Make sure Cocoapods is accessible from the command line.
- Run
flutter doctor
in the command line to make sure the Flutter SDK properly installed. - Navigate to the src directory of this project.
- Run
flutter packages get
to get the necessary Flutter dependencies. - Navigate to the src/ios folder
- Run
pod install
to get the necessary ios dependencies.
- Open iOS/Runner.xcworkspace file in Xcode.
- At the top menu bar of Xcode, there is button "Runner > some ios device"
- Click on it, and choose any device you like.
Please refer to this article: iOS Device Setup
To run the unit tests on our backend API methods, in the terminal:
- cd into the FuelOpt directory:
cd FuelOpt
- Execute:
python ../FuelOpt/src/backend/manage.py test ../FuelOpt/test/
To contribute to FuelOpt, follow these steps:
- Fork this repository.
- Create a branch:
git checkout -b <branch_name>
. - Make your changes and commit them:
git commit -m '<commit_message>'
- Push to the original branch:
git push origin <project_name>/<location>
- Create the pull request.
Alternatively see the GitHub documentation on creating a pull request.
- Flutter documentation
- Lab: Write your first Flutter app
- Cookbook: Useful Flutter samples
- Docker documentation
- Marcos-Antonios Charalambous - [email protected]
- Alicia Jiayun Law - [email protected]
- Dimosthenis Tsormpatzoudis - [email protected]
- Nadim Rahman - [email protected]
- Dennis Duka - [email protected]
- Ye Liu - [email protected]
- Maxim Fishman - [email protected]
- Wei Sin Loo - [email protected]