SoK/2021/StatusReport/Sai Moukthik Konduru: Difference between revisions

From KDE Community Wiki
Line 18: Line 18:
<p>As the duration of Sok is less than three months, it may not be possible to develop the perfect app. By the end of Sok, foKus should have the basic functionalities (the first few features from the above list) with a simple and elegant design. As the KDE community is ever-growing and active, we can keep on adding more and more features to the app, and make it better every day. There is a lot of potential in this app, and through Sok, I plan to set a strong platform for it to grow.</p>
<p>As the duration of Sok is less than three months, it may not be possible to develop the perfect app. By the end of Sok, foKus should have the basic functionalities (the first few features from the above list) with a simple and elegant design. As the KDE community is ever-growing and active, we can keep on adding more and more features to the app, and make it better every day. There is a lot of potential in this app, and through Sok, I plan to set a strong platform for it to grow.</p>
----
----
===='''Mentor'''====
===='''Mentor:'''====
*[https://invent.kde.org/devinlin Devin Lin]
*[https://invent.kde.org/devinlin Devin Lin]
----
----
===='''Links'''====
===='''Links:'''====
*Repository: [https://invent.kde.org/rowdyninja/fokus foKus]
*Repository: [https://invent.kde.org/rowdyninja/fokus foKus]
*Blog:[https://mouktech.wordpress.com/ blog]
*Blog:[https://mouktech.wordpress.com/ blog]
----
----
===='''Work Done'''====
===='''Work Done:'''====
''Will be added soon''
As I didn't find any other projects that I could use as the starting point for my project, I had to start from scratch. I used the basic Kirigami template to start my project.
*Created a simple UI (still in progress, need to refine it a bit)
*Created a to-do item model, based QAbstractListModel, which is for individual lists of tasks.
*Created a to-do list model, again based on QAbstractListModel, which will enable us to create multiple lists of tasks.
*Created a local storage system, which stores all the app data in JSON format.
----
----
===='''Things I've learned'''====
===='''Things that I've learned:'''====
*I did not understand the concepts of Object-Oriented Programming as I didn't build any project before. But by working on foKus, the concepts are getting clearer.
*I got a better understanding of pointers.
*My debugging skills are improving.
*I understood the importance of the knowledge of Data Structures.
*I am learning how to use git(version control)
*My communication skills are getting better as I am constantly in contact with my mentor.
*I have learned a bit of the Qt framework, and also the Kirigami.
*I now understand the "model-view-delegate" concept.
*How to use JSON for storing app data.
*I have learned that there is no such thing called a "dumb question".
*Most importantly I have learned that perseverance is the key to success.
----
----
===='''Challenges I've Faced'''====
===='''Challenges that I've Faced:'''====
*As I was new to programming, I found it difficult to learn QML, Kirigami, Qt as there were no video tutorials(I was used to them back then).
*I didn't know how to utilize the documentation of a framework properly.
*I found it challenging to work with C++ as I used python as my primary language(to learn data structures and other programming basics).
*It was hard to write code using kate(until I started using Qt creator) as it didn't have an auto-complete feature(maybe I don't know the plugin).
 
----
----


===='''Contact Me'''====
===='''Contact Me:'''====
*[https://invent.kde.org/rowdyninja Sai Moukthik Konduru]
*[https://invent.kde.org/rowdyninja Sai Moukthik Konduru]
*Matrix: @rowdyninja:kde.org
*Matrix: @rowdyninja:kde.org

Revision as of 08:00, 24 February 2021


foKus

Abstract:

Currently Plasma Mobile is a budding platform, and there is a need for quality apps to make the platform bloom. Productivity apps are very important for any platform, be it desktop or mobile. To make the productivity suite of plasma mobile platform better by a notch, we need a simple, yet effective app, and foKus will just be that. foKus will be a task management app that will help the user stay organized and manage their day-to-day tasks, thus making them productive. Many of the current to-do apps, miss the right balance and end up being counter-productive. The goal of foKus is to be the perfect productivity app, and below are the features that will make it the best. Features of the app:

  1. Simple yet beautiful UI.
  2. Ability to quickly enter the task.
  3. Ability to reorder the tasks.
  4. Ability to prioritize the tasks.
  5. Ability to set a reminder for the tasks.
  6. Ability to time the completed tasks, to keep track of our performance.
  7. Have a "focus mode", which helps the user to focus on the tasks, by locking out the unproductive apps(like social media).
  8. Cloud Sync, to access the list from any platform and from anywhere.


Why a new app if Calindori( the calendar app of plasma mobile) has the task management feature built into it?

Calendar apps are great for static events like meetings, appointments, etc. Tasks management apps are great for actionable items(tasks) that we need to do in a day or a week. Sometimes the Calendar might become overpopulated with the “tasks”(which may be small things like listening to a podcast, walk the dog) and might be counter-productive. Using the Calendar and the Task management app in tandem together, we can be our most productive selves. As the task management app isn’t heavy, it won’t affect the performance of the device(if that is your concern).


Goal for the SoK:

As the duration of Sok is less than three months, it may not be possible to develop the perfect app. By the end of Sok, foKus should have the basic functionalities (the first few features from the above list) with a simple and elegant design. As the KDE community is ever-growing and active, we can keep on adding more and more features to the app, and make it better every day. There is a lot of potential in this app, and through Sok, I plan to set a strong platform for it to grow.


Mentor:


Links:


Work Done:

As I didn't find any other projects that I could use as the starting point for my project, I had to start from scratch. I used the basic Kirigami template to start my project.

  • Created a simple UI (still in progress, need to refine it a bit)
  • Created a to-do item model, based QAbstractListModel, which is for individual lists of tasks.
  • Created a to-do list model, again based on QAbstractListModel, which will enable us to create multiple lists of tasks.
  • Created a local storage system, which stores all the app data in JSON format.

Things that I've learned:

  • I did not understand the concepts of Object-Oriented Programming as I didn't build any project before. But by working on foKus, the concepts are getting clearer.
  • I got a better understanding of pointers.
  • My debugging skills are improving.
  • I understood the importance of the knowledge of Data Structures.
  • I am learning how to use git(version control)
  • My communication skills are getting better as I am constantly in contact with my mentor.
  • I have learned a bit of the Qt framework, and also the Kirigami.
  • I now understand the "model-view-delegate" concept.
  • How to use JSON for storing app data.
  • I have learned that there is no such thing called a "dumb question".
  • Most importantly I have learned that perseverance is the key to success.

Challenges that I've Faced:

  • As I was new to programming, I found it difficult to learn QML, Kirigami, Qt as there were no video tutorials(I was used to them back then).
  • I didn't know how to utilize the documentation of a framework properly.
  • I found it challenging to work with C++ as I used python as my primary language(to learn data structures and other programming basics).
  • It was hard to write code using kate(until I started using Qt creator) as it didn't have an auto-complete feature(maybe I don't know the plugin).

Contact Me: