Time-Tracker: A cross platform software integrated with Firebase and Flutter
Time Tracker | Flutter
Time tracker is a cloud based task manager where you can manage your tasks in your mobile or web browser in a same time or in a most appropriate way, Real-time.
How?
The Back-End for both web and mobile platform is by Google Firebase services. So there is no worry about missing data, authentication and any other things.
Web application
Web application of Time-Tracker is also open source and created with ReactJs. You can see the links below:
Firebase
Firebase is a cloud service provider for many frameworks. Like Authentication, Cloud Firestore and Hosting.
Authentication
Authentication with Firebase is so easy. You can turn on Auth providers in your project part in Firebase and add their methods in your source project.
Our application has 3 ways to authenticating.
In the Firebase authentication part, there is a part you can see users and the uid.
Email & Password Authentication
You can use your Email and Password to register or login. There is also a way to reset your password.
Google Authentication
If you have a Google account, you can easily authenticate with your Google account.
Anonymous Authentication
If you want to use the app as a guest or testing app, you can use Anonymous authentication where you don’t need to have any Google account or any other emails.
Firestore
As we said before, we save data in Firestore. Firestore is a NoSQL database, there are 2 collections that I will describe them.
Tasks collection
In this collection, there are task documents. Every document has 4 keys. Like a Json file.
{
"uid": "user uid",
"status": true,
"created": "Time stamp",
"name": "Task name"
}
The status
can be true
or false
.
Users collection
There are only 2 items that store in users collection.
{
"user": "user id",
"name": "user name"
}
If user authenticate with Google account, the name
will be your Google account name. If not, the null
will be store in that field.
Name can change in your panel.
Hosting
App is hosting in Firebase Hosting. More details are described in the end of the document.
Application pages
Application has 3 pages. Home, Add and Settings.
Home page
Home page returns a list view of tasks.
Task
Each list tile has a checkbox that shows that task is done or not. In side of checkbox, there is the task name.
Add page
Here is a part where yu can easily add your tasks.
Settings page
In settings you can access to your data and changing them.
This feature is only available in Web application.
Download the app
You can download the app from this repository release.
Links will be added soon. Now there is no release.