Routinger is a task scheduler app that is made to make you a better person at no extra cost. The code is open-source. Dart language and Flutter framework are used extensively.

Overview

icon Routinger

This is a simple app that will allow you to schedule your tasks, create a simple to-do, and also make recurring tasks. The app ends you notifications to remind you of your tasks. The app as of now works on storing data on local storage only. It is meant to be a cross platform app.

We are constantly updating our application with the help of our contributors and feel free to open an issue if you face any problem or would like to add any new feature.

Old Look                       New Look

If you want to try out the app you can find the link to the app here. The current app version is very early and there may be errors. We recommend trying it out and telling us about your opinions in the issues or you can email to us. We will soon also make a discussions page.

List of Contents

Preview

Screens!!

image image image
Home Screen Your Stats Splash Screen
image image image
Add Tasks Set Timer Toggle Dark Mode

Dependencies

The following packages are needed for the development of this application.

  • cupertino_icons: ^1.0.2
  • provider: ^6.0.0
  • card_swiper: ^1.0.4
  • flutter_local_notifications: ^8.1.1+1
  • intl: ^0.17.0
  • flutter_native_timezone: ^2.0.0
  • sqflite: ^2.0.0+4
  • url_launcher: ^6.0.9
  • mdi: ^5.0.0-nullsafety.0
  • fl_chart: ^0.40.0
  • flutter_launcher_icons: ^0.9.2
  • flutter_native_splash: ^1.2.4

More details about these can be found in the pubspec.yaml file.

Installation

  • Clone the repository on your system.
  • Install the dependencies
  • Run flutter pub get
  • Run the application

Make sure flutter and android studio is installed properly in your system. Fork the repo. We use VS Code as our code-editor. But any code-editor is fine. Follow these steps-:

  1. Navigating to the forked repo in your code-editor and terminal

  2. Using either the debug and run command or continue without debugging

OR

  1. In terminal after navigating to the root of folder

flutter run

You can run it in an emulator or use your real android device and turn the USB-Debugging on. Your editor will be able to help you select what platform you want to run from multiple devices.

Getting Started with the project

After completing the installation locate the lib folder in the project which contains all the code files where you can make your contributions.

In the lib folder

  • The main.dart file is the entry point of the application which is responsible for executing all library functions, user-defined statements etc.
  • The screens folder contains all the screens which will be displayed in the application.
  • You can find the widgets in the widgets folder which are used to make the app interactive.

Assets Folder

  • Add your images & fonts here after adding it in pubspec.yaml file.

For Android, Ios & web

  • Make changes in Android, ios & web folder based on where you want to launch it.

Folder-Structure

The general structure of the project is as follows-:

  • Helper Directory :- All the database related functions are located in the helper directory along with a list_of_notif model used by Rountinger.
  • Provider Directory :- All the provider which app listens to is in the provider directory. This includes the task and tasks provider. The task provider is specific and contains the details for one task. While the tasks provider contains a list of tasks and handles the adding, removing, saving to local storage functions.
  • Screens Directory :- Currently the app has two screens, which are present in the screens directory. The first one is the home screen and other is a add task screen.
  • Services Directory :- All the code related to notification services are present in notifications file. While the sleep cycle manages the user sleep cycle storing the wake up time and sleep time to not show recurring notifications during the tme user sleeps.
  • Widgets Directory :- All the presentation logic is present in the widgets directory. Every thing that you see on screen has been made into a different widget file for easier debugging. The widget directory is re-classified into three other directories according to the screens. They are-:
    1. Add_task Directory -: All the widgets which go into the add_task screen is kept here. If you are contributing something to the add_task screen most of yur work will be in this directory.
    2. Home Directory - All the widgets which are in the home screen comes here. Home screen is where most of the action takles place. Thus it has been subdivided into stats and taskslist.
      • Stats Directory - All the stats related widgets such as the stats chart and the stats card are here.
      • Taskslist Directory - All the widgets of taskslist including the individual cards are kept in here. Also, the taskslist parent itself.
    3. Settings Directory - Settings Directory contains all the widgets which are used in the settings screen.
  • The main.dart file is kept cluttered free. This should be only changed when absolutely necessary like when providing a new provider.

Info

We haven't yet tested the app in iOS platform and it mayn't work completely in iOS emulators and/or iOS devices. If you want to contribute the iOS side of the app. You are more than welcome to do so.

Check the Contributions guideline before contributing to make sure you are contributing the rightway.

Be sure to follow the Code Of Conduct at all times.

Being part of a community means there are certain simple rules and etiquettes that needs to be followed. Following these simple rules makes everyone feel like they are a part of community and are not being mistreated.

Have a good day.

Comments
  • Updating Readme to make it more informative

    Updating Readme to make it more informative

    README.md is very vague and doesn't clearly imply:

    1. How the code works?
    2. The general workflow

    It can be made more informative and easier to read to help newcomers to understand it better.

    documentation good first issue Hacktoberfest 
    opened by Kushalrock 20
  • Dark mode added

    Dark mode added

    I have added dark mode in the app. Please suggest colors as you wish so I will do the edits. I don't have a good color sense. I am dropping screenshots for reference. Screenshot_1633091360 Screenshot_1633091362 Screenshot_1633091364

    hacktoberfest-accepted 
    opened by bayush-9 14
  • Folder structure

    Folder structure

    Solves #20

    Also, may I propose some changes? I would like to replace hardcoded values for borderRadius and similar fields with constants. I will make this PR a draft because I would like to get your opinion on this.

    Edit: I also found a typo in imports, automated github action could prevent that, is that welcome?

    hacktoberfest-accepted 
    opened by GrbavaCigla 12
  • Fixing Imports to make the code more readable

    Fixing Imports to make the code more readable

    The imports were organized by keeping in mind a specific style. But with the addition of new packages and imports, the imports have gone messy. We encourage beginners to take up this issue and fix the imports across all the files.

    A simple example is Capture Capture2

    The first image is of unorganized imports while the second image is of organized imports. The general structure to be followed is

    • Dart Imports(Look for dart:__ to know what to include here)
    • Flutter Package Imports (Look for package:flutter to know what to include here)
    • Third-Party Packages (All the packages aside from dart and flutter should be in this category)
    • Then folder wise imports of local files

    Imports should have a parent category like in the image, dart imports, helper imports, and so on..

    The files having package:routinger are local files and should be accessed by relative location using ./ or ../ instead of using the package:routinger.

    enhancement good first issue Hacktoberfest easy 
    opened by Kushalrock 10
  • The app is using 4 different databases, instead it should use only one main database and 4 tables.

    The app is using 4 different databases, instead it should use only one main database and 4 tables.

    Is your feature request related to a problem? Please describe. Nope. But it can optimize the performance of the app.

    Describe the solution you'd like Instead of using four databases with different names. A single Routinger database can be used in place of it and use four different tables to manage the data.

    Describe alternatives you've considered No alternatives considered

    Additional context The changes are to be made in the /lib/helper/db_helper.dart. Instead of using four databases, we can use single database and 4 different tables to optimize the performance of the app. Screenshot (3)

    enhancement good first issue Hacktoberfest 
    opened by Kushalrock 10
  • Several print statements in the console and usage of unnecessary null checks

    Several print statements in the console and usage of unnecessary null checks

    Describe the bug The app logs a lot of unneeded debugging statements. Also the usage of null checks is unnecessary and not good for readability.

    null checks

    Expected behavior Slight improvements could do for this stuff.

    bug good first issue Hacktoberfest 
    opened by AyoubBoulahtar 7
  • An efficient folder structure

    An efficient folder structure

    Is your feature request related to a problem? Please describe. I am always frustrated when I open the widgets folder, there are just too many widgets and the organization is vague.

    Describe the solution you'd like An efficient folder structure. The present folder structure shouldn't be changed. Instead, new folders should be created inside it.

    Additional context

    One simple example of an efficient folder structure would be. In lib/widgets there are two files that are used by settings. So instead of keeping them there. Those two files should be kept in lib/widgets/settings.

    Imports order of file shouldn't be changed. All relative imports should be relative, but correction may be needed after putting them into new folders but they should be relative too.

    This applies to all the folders inside lib not only the widgets folder. An efficient folder structure for other folders should also be created. Even if it means putting a single file into a folder.

    enhancement good first issue Hacktoberfest easy 
    opened by Kushalrock 6
  • [BUG] Dark theme inactive.

    [BUG] Dark theme inactive.

    Describe the bug The dark theme button in the setting screen doesn't makes any changes.

    To Reproduce Steps to reproduce the behavior:

    1. Go to Setting Screen.
    2. Toggle the dark screen button.

    Expected behavior Turn appearance to dark colors.

    Ways to solve it Add code for its implementation.

    Ideas about why is this happening It is not implemented yet.

    I am wishing to work on it.

    enhancement Hacktoberfest 
    opened by bayush-9 5
  • Add Alert Dialog Box

    Add Alert Dialog Box

    After adding tasks to It, If the user press the delete symbol by mistake then It will be deleted, This can be solved easily by adding a Alert dialog box to it

    @Kushalrock @AyoubBoulahtar Pls check my issue and, If the issue I described is true, then Assign this to me

    If possible add hacktoberfest-accepted label to this issue

    enhancement Hacktoberfest hacktoberfest-accepted 
    opened by Perumallpardhiv 4
  • Weekly Chart Showing Number Of Tasks Completed

    Weekly Chart Showing Number Of Tasks Completed

    Is your feature request related to a problem? Please describe. A chart where I can see my weekly stats below the experience points card. Such as how many tasks have I completed and so on.

    Describe the solution you'd like A line chart starting at Monday ending with Sunday showing how many tasks (Scheduled+Recurring) completed on a given day of the week.

    Describe alternatives you've considered Instead of merging both the scheduled and recurring there can be separate line charts for both of them.

    Additional context --None--

    enhancement Hacktoberfest 
    opened by Kushalrock 4
  • A new color palette or font-style for the app

    A new color palette or font-style for the app

    Color palettes and fonts can completely revamp user experiences. Changing these two things can have a revolutionary impact.

    The present color palette is very dull and potentially unwelcoming. If you have a better idea about a color palette we are very excited to hear about it.

    How to suggest a color palette and/or font?

    After forking the repo. You can navigate to dev_assets and create a new small text file color_palette_font_recommendation.txt. In this simple text file, you can write about the color_palette you are thinking about using. If the same file exists, we recommend not overwrite it but add a number after the file name.

    If you have made a mockup of the app with your color palette/ and or font in some software you can post that too with the same name and in any popular image formats. Capture

    good first issue Hacktoberfest artistic 
    opened by Kushalrock 4
  • feature:added a drawer

    feature:added a drawer

    Summary

    • added a drawer
    • corrected color in bottomNavigation Bar

    Code changes

    • added a drawer and included the settings screen in it
    • changed the selected item color on bottomNavigationBar
    • changed the color of floating action button as it previously did not match the app's color palette
    opened by Jayakrishnan-manoj 0
  • The app doesn't show image of icon properly in the notifications

    The app doesn't show image of icon properly in the notifications

    Describe the bug The app doesn't show the icon of the app in the notifications.

    To Reproduce Steps to reproduce the behavior:

    1. Go to the floating action button
    2. Add any scheduled or recurring notification.
    3. Wait for the notification to arrive
    4. You will see a white block in place of the icon. [SEE IMAGES BELOW]

    Expected behavior The app's icon should have been shown in place of a white square block.

    Screenshots Screenshot_20210925-012352

    Additional context The icon that should be used in the notifications is initialized in lib/services/notifications.dart.

    Ways to solve it Changing the icon size or creating proper adaptive icons.

    Ideas about why is this happening I am not completely sure, but perhaps the issue is the use of non-proper adaptive icons and the size of the icon.

    bug help wanted Hacktoberfest 
    opened by Kushalrock 16
Releases(0.0.1-aplha)
  • 0.0.1-aplha(Sep 4, 2021)

    This is a very early release and has not been tested yet. By downloading this application and using it, you can recommend the shortcomings of the app and the problems that you encounter. This way you are supporting open source while also making sure that the app is ready when it is shipped finally to everyone.

    I can't thank you enough for taking out your time and trying it out before release. Also, I apologize for any mishaps.

    Kushal A.

    P.S. If you don't know which of the versions to download from below, most probably your phone supports app-arm64-v8a. Download it.

    Source code(tar.gz)
    Source code(zip)
    app-arm64-v8a-release.apk(15.91 MB)
    app-x86_64-release.apk(16.06 MB)
Owner
Routinger
Organization managing the routinger open source project.
Routinger
A Simple Todo app design in Flutter to keep track of your task on daily basis. Its build on BLoC Pattern. You can add a project, labels, and due-date to your task also you can sort your task on the basis of project, label, and dates

WhatTodo Life can feel overwhelming. But it doesn’t have to. A Simple To-do app design in flutter to keep track of your task on daily basis. You can a

Burhanuddin Rashid 1k Jan 6, 2023
Upper is a open source back-end framework based on the Dart language.

What is Upper? Upper is a open source back-end framework based on the Dart language. With it, it is possible to automatically generate a gRPC API for

Andriws Luna 40 Sep 5, 2022
Utility Manager Flutter Application is made with Flutter and Supabase which allows user to add task, set remainder to the task, set color to separate tasks and it allows to add URL with URL's informations.

Utility Manager Flutter Application! Utility Manager Flutter Application is made with Flutter and Supabase which allows user to add task, set remainde

Kathirvel Chandrasekaran 6 Jan 6, 2022
Flutter-task-planner-app - A beautiful task planner app design made in flutter.

Flutter Task Planner App Design Task Planner App is built with flutter. App design is based on Task Planner App designed by Purrweb UI. This app is st

Sourav Kumar Suman 692 Jan 2, 2023
WeCare is a logistics management platform that can manage everything like delivering goods in time and in a preferable cost.

wecare_logistics A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started

Shaurya kajiwala 5 Nov 10, 2022
A low-cost Flutter screen adaptation solution(一个极低成本的 Flutter 屏幕适配方案)

A low-cost Flutter screen adaptation solution(一个极低成本的 Flutter 屏幕适配方案) 100% 还原 UI,只需要按照设计图写的宽高写即可 先看图片,设置的标准宽度是 360 iPhone 8 --------------------------

聂志洋 108 Sep 27, 2022
Note app is open-source notes app for Android & ios. It is built with Dart on top of Google's Flutter Framework.

Note App ✍?? Note App & SqfLite &GetX [MVC pattern] ????‍?? Note app is open-source notes app for Android & ios. It is built with Dart on top of Googl

null 25 Nov 29, 2022
Task List application developed in Dart language with SDK Flutter for Android, iOS and Web

Task List application developed in Dart language with SDK (Software Development Kit) Flutter for Android, iOS and Web.

João Bruno 2 Jun 2, 2022
Bigo-task - task recieved from bigosoft.co.uk

bigo_task A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if thi

Mubashar Ali 0 Jan 1, 2022
LiveLine - A Health Monitoring/Awareness/Risk-Alert App which will display a Person's Heart rate, SpO2 level concentration and Body Temperature

A Health Monitoring/Awareness/Risk-Alert App which will display a Person's Heart rate, SpO2 (oxygen% in the body) level concentration and Body Temperature

Arpit Patawat 6 Jun 7, 2022
Naj - An open-source code generation and file management system written in Dart

Naj An open-source code generation and file management system written in Dart Ov

Najibullah Khoda Rahim 1 Feb 14, 2022
null 357 Dec 27, 2022
A API integrated 5 day weather forecast and prediction application created using flutter framework and Dart language.

A API integrated 5 day weather forecast and prediction application created using flutter framework and Dart language. This API used here is OPEN WEATHER API, which specializes in predicting the weather of any city in this world.

Nitin Verma 0 Dec 26, 2021
Body Mass Index (BMI) - a person’s weight in kilograms divided by the square of height in meters

Body Mass Index (BMI) is a person’s weight in kilograms divided by the square of height in meters. A high BMI can indicate high body fatness. BMI screens for weight categories that may lead to health problems, but it does not diagnose the body fatness or health of an individual.

Prashant Kumar Singh 9 Dec 3, 2022
Kind of app that generally used to maintain our day-to-day tasks or list everything that we have to do.We can add more tasks at any time and delete a task that is completed.

todo_application A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started

Khaled Elnkhla 0 Nov 6, 2021
A task manager app made with flutter where you can mark your tasks for specific days and keep your life organized!

task_manager_app A task manager app made with flutter where you can mark your tasks for specific days and keep your life organized! Getting Started Th

null 2 Sep 1, 2021
A better Minecraft Launcher that supports multiple platforms and many functionalities for you to explore!

A better Minecraft Launcher that supports multiple platforms and many functionalities for you to explore!

RPMTW Team 74 Dec 14, 2022
WalletConnect is an open source protocol for connecting decentralised applications to mobile wallets with QR code scanning or deep linking.

WalletConnect is an open source protocol for connecting decentralised applications to mobile wallets with QR code scanning or deep linking. A user can

Tomas Verhelst 87 Dec 28, 2022
Open source portion code of viewers

Welcome to Shopping App Clone ?? In this project we are going to create the E-commerce Shopping App using Flutter, NodeJs, ExpressJs along with GetX s

Balram Rathore 32 Dec 19, 2022