https://github.com/samuel-ricardo/cat-tasks
To do app
https://github.com/samuel-ricardo/cat-tasks
Last synced: 3 months ago
JSON representation
To do app
- Host: GitHub
- URL: https://github.com/samuel-ricardo/cat-tasks
- Owner: Samuel-Ricardo
- License: mit
- Created: 2021-08-30T15:01:26.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2023-03-18T14:24:37.000Z (about 2 years ago)
- Last Synced: 2025-01-14T12:45:09.826Z (5 months ago)
- Language: Kotlin
- Size: 6.61 MB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Cat-Tasks
![]()
![]()
Minimalist To do App
|
Project |
Technologies |
App |
Author |
![]()
![]()
![]()
![]()
:artificial_satellite: About
This project was created during mobile bootcamp in @Digital_Innovation.one In partnership with @Santander_Universities - Brazil
- __*Download: [Cat Task](https://github.com/Samuel-Ricardo/Cat-Tasks/blob/master/apk/app-debug.apk) - (APK)*__
- Current Version: 1.0.0
Minimalist offline first application made with native kotlin using the MVVM architecture, the Cat Task is an app for personal organization through the planning of Tasks.
the user creates a task that has a title, a notepad attached and the date and time of the task, and has access to a calendar in the app's home where you can select the day of the year and see the tasks scheduled for that day, if don't have none, the background changes to a custom one.
By clicking on the task the user can change its content with a note editor, to remark just click on the "more" icon - (3 vertical points) which will open a menu where the user can do a complete edit or delete task
__*Be productive*__
![]()
![]()
:building_construction: Technologies and Concepts Studied- Android
- Responsive
- Kotlin
- lifecycle
- MVVM
- OOP
- Functional Programing
- view binding
- Room Database
- SQLite Database
- Google Material
- Async Programing
- Multi thread
- Menu Popup
- Navigate into Activities
- Dates
- Time
- Calendar
- Recyclerview
- overlap of view and activities
- include
- SVG and Vector Images
- update screen in real time
- update data in real time
- app real time communication
- kapt
- Among Others...
📱 Application
:card_index_dividers: Storage
it was decided that the method to store information would be locally, that is, it is an offline first application, for this the android default option, the SQLite Database and the Room library was chosen, Room is responsible for abstracting and facilitating the use of SQLite on android .
:calendar: Calendar
I had problems working with the dates because the solutions that were available like LocalStorage needed a very high API around 26 or higher, as I don't have an android with this api, I was forced to create my own solution, from this project I created a class to work with dates and another to work with hours and minutes that works on older versions of android, as I had limited time I couldn't make the ideal class, there's still a lot that can be added, which means that from this project, i intend to create a library to work with dates in older android versions.
Initial Screen
>![]()
The initial screen that introduces the App
Home Screen
![]()
![]()
![]()
- The Home Screen has a Calendar with all the days of the year, it was built using a horizontal Recyclerview.
- As soon as the application starts, it identifies the current year and generates a calendar with all the days and months of the year.
- As soon as the homescreen opens, the app identifies what day it is and loads all the tasks for that day and automatically selects today's day in the calendar.
- If you don't have tasks scheduled for the selected day, the background changes to a custom message
Notepad Editor
![]()
![]()
-When displaying a task it will be in a reduced mode, where if the annotations exceed the maximum number of characters, it will be cut and put "..." To see it completely, it is necessary to click on it.
-When the user touchs on a task it will open a note editor for him to make the changes he wants. Notepad size adapts the number of characters dynamically, changing its size.
-to reschedule just click on the "more" icon - (3 vertical points) which will open a menu where it will be possible to complete editing or delete the task
Create / Update Task
![]()
![]()
![]()
-This screen is for creating a new task or updating an existing task.
![]()
![]()
![]()
-It has a Datepicker where you can choose the year, month and day
![]()
![]()
-It has a Timepicker where you can choose the time of day (24hr) and the minute
:octocat: Author
![]()
![]()
![]()
![]()
![]()