Neo Flow
A modern GTD Android App to improve your workflow
Explore the docs »
View Demo · Report Bug · Request Feature
Table of Contents
About The Project
Neo Flow is a modern GTD Android App to improve your workflow.
The motivation for this project is that although there already are many GTD apps out there, no app has successfully integrated all features you need during your workflow into only one app. For example, my workflow from a top to bottom sequence: different projects' management, making plan for one day/week/month, pomodoro for every working session, as well as some other featurs like habit tracking and to-do item memo.
Tech Stack
- Kotlin - First class and official programming language for Android development.
- Coroutines - For Asynchronous.
- Flow - A cold asynchronous data stream that sequentially emits values and completes normally or with an exception.
- StateFlow - StateFlow is a state-holder observable flow that emits the current and new state updates to its collectors.
- Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
- ViewModel - Stores UI-related data that isn't destroyed on UI changes.
- ViewBinding - Generates a binding class for each XML layout file present in that module and allows you to more easily write code that interacts with views.
- Room Database - Room is an android library which is an ORM which wraps android's native SQLite database.
- Dagger-Hilt - Standard library to incorporate Dagger dependency injection into an Android application.
Download APP
Roadmap
- Add to-do item with reminder time on main page
- Delete to-do item
- Edit to-do item as well as add sub-tasks
- Sort to-do item with importance and completence
- Notify the user when the reminder time is up
TODO
A lot of the features still hasn't been implemented.
- Add bottom-nav-menu for all other features
- Integrate Pomodoro
- Integrate Project Management
- Integrate Habit Tracking
- Integrate Visual Calendar to see your plan as well as habit tracking
Contributing
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
Before you start , I highly recommend you to check the development documentation first to grasp a general understanding of the structure of this app. Explore the docs »
How to make a pull request:
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
License
Distributed under the MIT License. See LICENSE.txt
for more information.
Contact
Jiaqi Cao - @Clover-Hill - @SJTU
Project Link: https://github.com/Clover-Hill/NeoFlow
Acknowledgments
- Huge thanks for the Bytedance-SJTU-AndroidCamp class and teachers!
- UI element Reference