Skip to content

Commit

Permalink
first commit
Browse files Browse the repository at this point in the history
  • Loading branch information
thephenomenal10 committed Oct 16, 2021
0 parents commit 35205c8
Show file tree
Hide file tree
Showing 137 changed files with 5,327 additions and 0 deletions.
41 changes: 41 additions & 0 deletions .gitignore
@@ -0,0 +1,41 @@
# Miscellaneous
*.class
*.log
*.pyc
*.swp
.DS_Store
.atom/
.buildlog/
.history
.svn/

# IntelliJ related
*.iml
*.ipr
*.iws
.idea/

# The .vscode folder contains launch configuration and tasks you configure in
# VS Code which you may wish to be included in version control, so this line
# is commented out by default.
#.vscode/

# Flutter/Dart/Pub related
**/doc/api/
**/ios/Flutter/.last_build_id
.dart_tool/
.flutter-plugins
.flutter-plugins-dependencies
.packages
.pub-cache/
.pub/
/build/

# Web related
lib/generated_plugin_registrant.dart

# Symbolication related
app.*.symbols

# Obfuscation related
app.*.map.json
10 changes: 10 additions & 0 deletions .metadata
@@ -0,0 +1,10 @@
# This file tracks properties of this Flutter project.
# Used by Flutter tool to assess capabilities and perform upgrades etc.
#
# This file should be version controlled and should not be manually edited.

version:
revision: 78910062997c3a836feee883712c241a5fd22983
channel: stable

project_type: app
21 changes: 21 additions & 0 deletions LICENSE
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2020 Jobin Biju

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
95 changes: 95 additions & 0 deletions README.md
@@ -0,0 +1,95 @@
<p align="center">
<img src="https://raw.githubusercontent.com/JobinBiju/Taskly/main/assets/readmeFiles/TasklyCover.png" width=700>
</p>

### A new Flutter app project to manage tasks.

<br>

[![Let's fund issues in this repository](https://issuehunt.io/static/embed/issuehunt-button-v1.svg)](https://issuehunt.io/r/JobinBiju/Taskly)

<a href="https://www.buymeacoffee.com/jobinbiju234" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" height="50px" alt="Buy Me A Coffee"></a>

<br>

# Getting Started

A few resources to get you started if this is your first Flutter project:

- [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab)
- [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook)

For help getting started with Flutter, view our
[online documentation](https://flutter.dev/docs), which offers tutorials,
samples, guidance on mobile development, and a full API reference.

# Installation

- Install & setup flutter through above documentation.
- Fork & then clone this repository.
- Open the project folder in the IDE where flutter is setup.
- Connect a physical device or run the app via emulator.
- Or you can find the apk files in the releases section of this repository.

# Features

- Add, Update & Delete tasks.
- Cool splash screen animation.
- Colorful task icons.
- Supports 8 amazing themes.
- Uses local database ([Hive](https://docs.hivedb.dev/)).
- Since it uses local DB, Privacy is ensured.
- Daily tasks are sorted & shown seperately.
- Dashboard with current & upcoming tasks shown.
- Option to repeat tasks daily.
- Drink Water Notification feature that display a notification to drink water once every hour
- Fast, Compact & Easy to Use
- #### What's New
- Added task notification.
- Separated old notification from All Tasks screen.
- Fixed bug in upcoming tasks.

# App UI

## All Screens

<br>

| <img align="left" alt="Splash Screen" src="https://raw.githubusercontent.com/JobinBiju/Taskly/main/assets/readmeFiles/splash.jpg" width="250px" /> | <img align="left" alt="Welcome Screen" src="https://raw.githubusercontent.com/JobinBiju/Taskly/main/assets/readmeFiles/welcome.jpg" width="250px" /> | <img align="left" alt="Login Screen" src="https://raw.githubusercontent.com/JobinBiju/Taskly/main/assets/readmeFiles/login.jpg" width="250px" /> | <img align="left" alt="Dashboard" src="https://raw.githubusercontent.com/JobinBiju/Taskly/main/assets/readmeFiles/yellowLight.jpg" width="250px" /> |
| -------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------- |

| <img align="left" alt="Daily Tasks" src="https://raw.githubusercontent.com/JobinBiju/Taskly/main/assets/readmeFiles/dailyTasks.jpg" width="250px" /> | <img align="left" alt="All Tasks" src="https://raw.githubusercontent.com/JobinBiju/Taskly/main/assets/readmeFiles/allTasks.jpg" width="250px" /> | <img align="left" alt="Profile" src="https://raw.githubusercontent.com/JobinBiju/Taskly/main/assets/readmeFiles/profile.jpg" width="250px" /> | <img align="left" alt="Settings" src="https://raw.githubusercontent.com/JobinBiju/Taskly/main/assets/readmeFiles/settings.jpg" width="250px" /> |
| ---------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |

| <img align="left" alt="Edit Account" src="https://raw.githubusercontent.com/JobinBiju/Taskly/main/assets/readmeFiles/editAccount.jpg" width="250px" /> | <img align="left" alt="Add Task Sheet" src="https://raw.githubusercontent.com/JobinBiju/Taskly/main/assets/readmeFiles/addTaskFn.jpg" width="250px" /> | <img align="left" alt="Icon Selection" src="https://raw.githubusercontent.com/JobinBiju/Taskly/main/assets/readmeFiles/iconSelection.jpg" width="250px" /> | <img align="left" alt="Update Task Sheet" src="https://raw.githubusercontent.com/JobinBiju/Taskly/main/assets/readmeFiles/updateTaskFn.jpg" width="250px" /> |
| ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |

| <img align="left" alt="Edit Account" src="https://raw.githubusercontent.com/JobinBiju/Taskly/main/assets/readmeFiles/editOption.jpg" width="250px" /> | <img align="left" alt="Add Task Sheet" src="https://raw.githubusercontent.com/JobinBiju/Taskly/main/assets/readmeFiles/deleteOption.jpg" width="250px" /> | <img align="left" alt="Icon Selection" src="https://raw.githubusercontent.com/JobinBiju/Taskly/main/assets/readmeFiles/confirmDelete.jpg" width="250px" /> | <img align="left" alt="Update Task Sheet" src="https://raw.githubusercontent.com/JobinBiju/Taskly/main/assets/readmeFiles/confirmLogOut.jpg" width="250px" /> |
| ----------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |

<div> </div>
<br>
<br>

## Themes Available

<br>

| <img align="left" alt="Yellow Light" src="https://raw.githubusercontent.com/JobinBiju/Taskly/main/assets/readmeFiles/yellowLight.jpg" width="250px" /> | <img align="left" alt="Red Light" src="https://raw.githubusercontent.com/JobinBiju/Taskly/main/assets/readmeFiles/redLight.jpg" width="250px" /> | <img align="left" alt="Teal Light" src="https://raw.githubusercontent.com/JobinBiju/Taskly/main/assets/readmeFiles/tealLight.jpg" width="250px" /> | <img align="left" alt="Green Light" src="https://raw.githubusercontent.com/JobinBiju/Taskly/main/assets/readmeFiles/greenLight.jpg" width="250px" /> |
| ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |

| <img align="left" alt="Yellow Dark" src="https://raw.githubusercontent.com/JobinBiju/Taskly/main/assets/readmeFiles/yellowDark.jpg" width="250px" /> | <img align="left" alt="Red Dark" src="https://raw.githubusercontent.com/JobinBiju/Taskly/main/assets/readmeFiles/redDark.jpg" width="250px" /> | <img align="left" alt="Teal Dark" src="https://raw.githubusercontent.com/JobinBiju/Taskly/main/assets/readmeFiles/tealDark.jpg" width="250px" /> | <img align="left" alt="Green Dark" src="https://raw.githubusercontent.com/JobinBiju/Taskly/main/assets/readmeFiles/greenDark.jpg" width="250px" /> |
| ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------- |

<br>

## Contribution

- Fork this project, add improvements & make a pull request.
- Send feedback & sugestions [here.](https://wa.me/918281392010/)

<br>

## Support

Support this project by giving a star and sharing with your friends.
11 changes: 11 additions & 0 deletions android/.gitignore
@@ -0,0 +1,11 @@
gradle-wrapper.jar
/.gradle
/captures/
/gradlew
/gradlew.bat
/local.properties
GeneratedPluginRegistrant.java

# Remember to never publicly share your keystore.
# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
key.properties
65 changes: 65 additions & 0 deletions android/app/build.gradle
@@ -0,0 +1,65 @@
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}

def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}

def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}

def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

android {
compileSdkVersion 30

sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}

lintOptions {
disable 'InvalidPackage'
}

defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.geekflow.taskly"
minSdkVersion 23
targetSdkVersion 30
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
multiDexEnabled true
}

buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig signingConfigs.debug
}
}
}

flutter {
source '../..'
}

dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.android.support:multidex:1.0.3'
}
23 changes: 23 additions & 0 deletions android/app/proguard-rules.pro
@@ -0,0 +1,23 @@
## Gson rules
# Gson uses generic type information stored in a class file when working with fields. Proguard
# removes such information by default, so configure it to keep all of it.
-keepattributes Signature

# For using GSON @Expose annotation
-keepattributes *Annotation*

# Gson specific classes
-dontwarn sun.misc.**
#-keep class com.google.gson.stream.** { *; }

# Prevent proguard from stripping interface information from TypeAdapter, TypeAdapterFactory,
# JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)
-keep class * extends com.google.gson.TypeAdapter
-keep class * implements com.google.gson.TypeAdapterFactory
-keep class * implements com.google.gson.JsonSerializer
-keep class * implements com.google.gson.JsonDeserializer

# Prevent R8 from leaving Data object members always null
-keepclassmembers,allowobfuscation class * {
@com.google.gson.annotations.SerializedName <fields>;
}
7 changes: 7 additions & 0 deletions android/app/src/debug/AndroidManifest.xml
@@ -0,0 +1,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.geekflow.taskly">
<!-- Flutter needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>
53 changes: 53 additions & 0 deletions android/app/src/main/AndroidManifest.xml
@@ -0,0 +1,53 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.geekflow.taskly">
<!-- io.flutter.app.FlutterApplication is an android.app.Application that
calls FlutterMain.startInitialization(this); in its onCreate method.
In most cases you can leave this as-is, but you if you want to provide
additional functionality it is fine to subclass or reimplement
FlutterApplication and put your custom class here. -->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
<application
android:name="io.flutter.app.FlutterApplication"
android:label="Taskly"
android:icon="@mipmap/ic_launcher">
<activity
android:name=".MainActivity"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:showWhenLocked="true"
android:turnScreenOn="true"
android:windowSoftInputMode="adjustResize">
<!-- Specifies an Android theme to apply to this Activity as soon as
the Android process has started. This theme is visible to the user
while the Flutter UI initializes. After that, this theme continues
to determine the Window background behind the Flutter UI. -->
<meta-data
android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme"
/>
<!-- Displays an Android View that continues showing the launch screen
Drawable until Flutter paints its first frame, then this splash
screen fades out. A splash screen is useful to avoid any visual
gap between the end of Android's launch screen and the painting of
Flutter's first frame. -->
<meta-data
android:name="io.flutter.embedding.android.SplashScreenDrawable"
android:resource="@drawable/launch_background"
/>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<!-- Don't delete the meta-data below.
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
<meta-data
android:name="flutterEmbedding"
android:value="2" />
</application>
</manifest>
@@ -0,0 +1,6 @@
package com.geekflow.taskly

import io.flutter.embedding.android.FlutterActivity

class MainActivity: FlutterActivity() {
}
Binary file added android/app/src/main/res/drawable/app_icon.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 12 additions & 0 deletions android/app/src/main/res/drawable/launch_background.xml
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="?android:colorBackground" />

<!-- You can insert your own image assets here -->
<!-- <item>
<bitmap
android:gravity="center"
android:src="@mipmap/launch_image" />
</item> -->
</layer-list>
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions android/app/src/main/res/raw/keep.xml
@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
tools:keep="@drawable/*,@raw/slow_spring_board" />
Binary file not shown.
18 changes: 18 additions & 0 deletions android/app/src/main/res/values-night/styles.xml
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is on -->
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
<!-- Show a splash screen on the activity. Automatically removed when
Flutter draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Flutter UI initializes, as well as behind your Flutter UI while its
running.
This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item>
</style>
</resources>

0 comments on commit 35205c8

Please sign in to comment.