# Onehour-app
**Repository Path**: zyangdev/Onehour-app
## Basic Information
- **Project Name**: Onehour-app
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-02-27
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
Onehour
A time tracking app build using Flutter
## Screens
| First Header | Second Header |
| ----------------------------------------- | ----------------------------------------- |
|  |  |
|  |  |
|  |  |
|  |  |
## Tech Stack
- Flutter
- Flutter Bloc with Hydrated Bloc
- Firebase
- Admob
## Features
- Track time for all your task.
- Offline Support.
- Social Logins (Google, Facebook)
- Light & Dark theme support.
- Ads configured using remote config.
## Getting Started
1. [Fork repository](https://github.com/fayeed/Onehour-app/fork) and clone your fork locally
1. Install [Flutter 1.7.8](https://flutter.dev/docs/get-started/install)
1. Install [Android Studio / IntelliJ / VSCode](https://flutter.dev/docs/development/tools/android-studio)
1. [Preparing Release for Android](https://flutter.dev/docs/deployment/android)
1. [Preparing Release for iOS](https://flutter.dev/docs/deployment/ios)
## Building the project
## Android
### Missing Key.Properties file
If you try to build the project straight away, you'll get an error complaining that a `key.properties` file is missing and Exit code 1 from: /Onehour-appp/android/gradlew app:properties:. To resolve that,
1. Follow this guide to [Generate Keystor](https://flutter.dev/docs/deployment/android#create-a-keystore) and then move it to [Onehour-appp/android/app](https://github.com/fayeed/Onehour-app/blob/master/android/app)
2. Open [Onehour-appp/android](https://github.com/fayeed/Onehour-app/blob/master/android/) and create a new file `key.properties` and your key info:
```
storePassword=STORE_PASSWORD
keyPassword=KEY_PASSWORD
keyAlias=key
storeFile=key.jks
```
3. Integrate Firebase for [Android](https://firebase.google.com/docs/flutter/setup?platform=android)
4. Open [AndroidManifest.xml](https://github.com/fayeed/onehour/blob/master/android/app/src/main/AndroidManifest.xml) and replace `ADMOB_ID` with your id.
```xml
```
5. Open [strings.xml](https://github.com/fayeed/onehour/blob/master/android/app/src/main/res/values/strings.xml) and replace `0000000000` with your id.
```xml
000000000000
fb000000000000
```
## IOS
1. Integrate Firebase for [IOS](https://firebase.google.com/docs/flutter/setup)
2. Open [Info.plist](https://github.com/fayeed/onehour/blob/master/ios/Runner/Info.plist) replace `REVERSED_CLIENT_ID`,
```xml
CFBundleURLTypes
CFBundleTypeRole
Editor
CFBundleURLSchemes
fb000000000000
REVERSED_CLIENT_ID
FacebookAppID
000000000000
FacebookDisplayName
FACEBOOK_DISPLAY_NAME
GADApplicationIdentifier
ADMOB_ID
```
## Contributing
Awesome! Contributions of all kinds are greatly appreciated. To help smoothen the process we have a few non-exhaustive guidelines to follow which should get you going in no time.
### Using GitHub Issues
- Feel free to use GitHub issues for questions, bug reports, and feature requests
- Use the search feature to check for an existing issue
- Include as much information as possible and provide any relevant resources (Eg. screenshots)
## License
Project is published under the [MIT license](/LICENSE.md).
Feel free to clone and modify repo as you want, but don't forget to add reference to authors :)