.idea | ||
.vscode | ||
android | ||
ios | ||
lib | ||
linux | ||
macos | ||
server | ||
test | ||
web | ||
windows | ||
.gitignore | ||
.metadata | ||
analysis_options.yaml | ||
Jenkinsfile | ||
latest-releases.json | ||
LICENSE | ||
pubspec.yaml | ||
README.md | ||
timetrack.iml |
TimeTracker
A flutter app designed for delivery driving. It tracks the GPS to show estimated total miles driven, and a map of where to. It also is designed to track the number of hours worked.
How it works?
This app relies on the Location permissions.
When getting ready to drive, the driver should open the app, and hit the Engage button. It will then start to track. This should be done before driving.
Before starting a trip, the driver should then click on the new trip button. If there are multiple deliveries, each should be concluded with a 'End Stop' button.
When the trip has ended, the driver should 'End Trip', which goes back to just tracking the time and GPS, but not labeling each route.
Why
I borrow the car from my grandparents, and need to closely track where I go for the miles, and how long I drive for. The app is designed to solve this problem by making it extremely convenient to not only display the data, but to then share it with my grandparents.
If you look below at the implementation roadmap, you will see how much of the app is completed. Additionally, you will see why I could not just use a already established solution like NextCloud and ownTrack. There are other details in here that need to be taken into account.
Storage
The app does not store data locally, due to the way android permissions function. The app uses a public API on my server (api.zontreck.com) which will store all the data. When sharing the data, it generates a link to (timetrack.zontreck.com) which is a slimmed down version of this app and will only display the data in a readonly format.
Implementation
- Basic UI
- Permissions
- Automatic updates
- GPS Tracking
- Formatting GPS on a viewable map
- Track driving hours
- Track trips
- Track stops/deliveries
- Track trip base pay
- Track each delivery's tips
- Map marker for each stop/delivery with text saying "Trip #X/DropOff #X\nBase Pay: $
; Tip: $$$"
- Basic version of the app in readonly mode when deployed on a web server.
- Backend server
- PHP?
- Dart based?