<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Aman Kumar</title>
    <description>The latest articles on DEV Community by Aman Kumar (@amankrx).</description>
    <link>https://dev.to/amankrx</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F391580%2F0b213def-304e-4909-9e38-777e50cb4c88.png</url>
      <title>DEV Community: Aman Kumar</title>
      <link>https://dev.to/amankrx</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/amankrx"/>
    <language>en</language>
    <item>
      <title>Reflections on GNOME .Asia Summit 2022</title>
      <dc:creator>Aman Kumar</dc:creator>
      <pubDate>Mon, 09 Jan 2023 20:46:17 +0000</pubDate>
      <link>https://dev.to/amankrx/reflections-on-gnome-asia-summit-2022-4fj6</link>
      <guid>https://dev.to/amankrx/reflections-on-gnome-asia-summit-2022-4fj6</guid>
      <description>&lt;p&gt;Recently, I got an opportunity to attend GNOME Asia Summit 2022 held in Kuala Lumpur. And it was an experience that I'll never forget. &lt;/p&gt;

&lt;p&gt;It was my first time attending an in-person conference. I was not quite nervous and unsure of what to expect. However, from the moment I arrived at the conference, I was immediately struck by the welcoming and inclusive atmosphere.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QVlbb-Kl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p5t4at8yxc6vc48gv1sl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QVlbb-Kl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p5t4at8yxc6vc48gv1sl.png" alt="GNOME swags" width="494" height="515"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The major highlights of the conference were the diverse range of presentations and workshops. There were talks on a wide range of topics, from the technical aspects of GNOME development to getting started with Open Source Development. The speakers were experts in their respective fields, and their presentations were engaging and informative. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jnBRPIaQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b5ixth8o7dri8xmvtzhq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jnBRPIaQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b5ixth8o7dri8xmvtzhq.png" alt="Sammy Fung Presentation" width="879" height="583"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I also got an opportunity to meet and connect with other members of the GNOME community. I had the chance to chat with developers, designers, and advocates from different parts of the globe, and it was fascinating to hear about the different ways in which they are using and contributing to GNOME. Along with that, I also got to meet my fellow GSoCers/ friends at the event, and they made the event even more fun. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WsgXnphg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j6xf4phku7k0gtq0sjc0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WsgXnphg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j6xf4phku7k0gtq0sjc0.png" alt="GNOME .Asia GSoC Group" width="880" height="399"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On the final day of the conference, I got an opportunity to give a presentation on the topic "Reworking Sync Options". You can learn more about the topic &lt;a href="https://dev.to/amankrx"&gt;here&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ho9w6E1D--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7uhjhyqu82bras727uoe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ho9w6E1D--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7uhjhyqu82bras727uoe.png" alt="Aman Kumar Presentation" width="876" height="651"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In addition to attending the conference, I also had the opportunity to explore the vibrant city of Kuala Lumpur. With its bustling streets, colorful markets, and delicious food, Kuala Lumpur was a feast for the senses. I especially enjoyed visiting the iconic Petronas Twin Towers and KL Tower and taking a stroll through the city. Overall, I had a wonderful time exploring Kuala Lumpur and I can't wait to visit again someday.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mn-E8l22--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0l5is1mrvt44yhkduim4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mn-E8l22--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0l5is1mrvt44yhkduim4.png" alt="Petronas Towers" width="876" height="651"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XNddS8Op--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4pdlnxulu0icagc06s7v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XNddS8Op--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4pdlnxulu0icagc06s7v.png" alt="Kuala Lumpur city" width="876" height="651"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'd like to end the note by thanking the GNOME Organization for sponsoring my visit and allowing me to attend such a wonderful conference, and I hope to meet all these amazing people soon again.&lt;/p&gt;

</description>
      <category>gnome</category>
      <category>conference</category>
      <category>opensource</category>
    </item>
    <item>
      <title>GSoC 2022 with GNOME: Final Report</title>
      <dc:creator>Aman Kumar</dc:creator>
      <pubDate>Sun, 18 Sep 2022 17:37:58 +0000</pubDate>
      <link>https://dev.to/amankrx/gsoc-2022-with-gnome-final-report-2hf7</link>
      <guid>https://dev.to/amankrx/gsoc-2022-with-gnome-final-report-2hf7</guid>
      <description>&lt;p&gt;This post marks the ending of my GSoC'22 journey with GNOME. I worked on the database migration and managing user model for the GNOME Health Application. Let's take a deep dive into the project.&lt;/p&gt;

&lt;h2&gt;
  
  
  Project Overview
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://gitlab.gnome.org/World/Health"&gt;Health&lt;/a&gt;&lt;/strong&gt; is a &lt;em&gt;Health and Fitness&lt;/em&gt; Tracking application. It helps the user to track and visualize their health indicators better. That means a user can track down their activities and weight progressions. The project is created and maintained by &lt;strong&gt;Rasmus Thomsen&lt;/strong&gt;, who is also the mentor of my GSoC project.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Attached below is the screenshot of the Health MainView:&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--of__Kf6m--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/UxX35IX.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--of__Kf6m--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/UxX35IX.png" alt="Health" width="709" height="730"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Project Goals
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Add the database version for the better migration of the database.&lt;/li&gt;
&lt;li&gt;Add the user model for the better management of the user data with the database.&lt;/li&gt;
&lt;li&gt;Add the sync model to improve the synchronization of the data with the third-party sync providers.&lt;/li&gt;
&lt;li&gt;Add Apple HealthKit and NextCloud Health as additional sync providers.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Project Contributions
&lt;/h2&gt;

&lt;p&gt;I started my GSoC journey with the project by adding the database version to the database. The database version is used to migrate the database to the latest version. A static version is added to the code that depicts the current version of the database. A new property called `version is added to the database which depicts the current version of the database for the user. If the versions are same then migration is skipped, else we carry on the migration of the database. This slight change improved the startup time of the application by a huge margin.&lt;/p&gt;

&lt;p&gt;Then I worked on designing a new model for the users. This helped in migrating the user data from the GSettings to the database so that multiple users can be supported. More information regarding this project can be found in my &lt;a href="https://dev.to/amankrx/gsoc-mid-term-report-for-health-med"&gt;previous blog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;MR Link: &lt;a href="https://gitlab.gnome.org/World/Health/-/merge_requests/174"&gt;https://gitlab.gnome.org/World/Health/-/merge_requests/174&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'm currently working on the implementation of the sync model and it will be finished soon.&lt;/p&gt;

&lt;h2&gt;
  
  
  Future Work
&lt;/h2&gt;

&lt;p&gt;As I mentioned earlier, I'm currently working on the implementation of the sync model. I will be adding the Apple HealthKit and NextCloud Health as additional sync providers.&lt;/p&gt;

&lt;p&gt;Apart from that, I'm also working on a new &lt;a href="https://gitlab.gnome.org/amankrx/declutter"&gt;Habit Tracking&lt;/a&gt; application with Rust and GTK. I will update more about it later on. Stay tuned!&lt;/p&gt;

&lt;h2&gt;
  
  
  GUADEC 2022
&lt;/h2&gt;

&lt;p&gt;This year I got to present my project at the GUADEC 2022. It was a great experience to present my project to the GNOME community. I got to learn a lot from the GNOME community and I'm really thankful to them for their support. This was my first time attending GUADEC and I hope to attend it again next year. You can find the recording of my presentation &lt;a href="https://youtu.be/KK9K2CG8U40?t=18724"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Overall it was a great experience during the last 12 weeks. I learned a lot about the GNOME community and the GNOME development process. I'm really thankful to my mentor &lt;strong&gt;Rasmus Thomsen&lt;/strong&gt; for his support and guidance throughout the project. I'm also thankful to the GNOME community for their support and feedback. I'm looking forward to contributing more to the GNOME community in the future. That will be all for now. Thank you for reading this post. See you in the next one.&lt;/p&gt;

</description>
      <category>gsoc</category>
      <category>gnome</category>
    </item>
    <item>
      <title>GSoC mid term report for Health</title>
      <dc:creator>Aman Kumar</dc:creator>
      <pubDate>Mon, 25 Jul 2022 20:13:29 +0000</pubDate>
      <link>https://dev.to/amankrx/gsoc-mid-term-report-for-health-med</link>
      <guid>https://dev.to/amankrx/gsoc-mid-term-report-for-health-med</guid>
      <description>&lt;p&gt;It's been a while since I last updated my progress. I've made significant progress after the last update.&lt;br&gt;
I started creating the User model in the last update. By now, I have migrated the whole User model to the Database from the GSettings and refactored the codebase accordingly.&lt;/p&gt;

&lt;p&gt;Here is my major progress so far:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Creation of a new User model:&lt;/strong&gt;
The new user model comprises all the user details that were initially saved in the GSettings such as user_birthday, user_height, etc. This new model will help in associating each user with a single data structure.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight rust"&gt;&lt;code&gt;&lt;span class="k"&gt;pub&lt;/span&gt; &lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="n"&gt;User&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;pub&lt;/span&gt; &lt;span class="n"&gt;user_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;i64&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="k"&gt;pub&lt;/span&gt; &lt;span class="n"&gt;user_name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;String&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="k"&gt;pub&lt;/span&gt; &lt;span class="n"&gt;user_birthday&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nn"&gt;glib&lt;/span&gt;&lt;span class="p"&gt;::&lt;/span&gt;&lt;span class="n"&gt;DateTime&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="k"&gt;pub&lt;/span&gt; &lt;span class="n"&gt;user_height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Length&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="k"&gt;pub&lt;/span&gt; &lt;span class="n"&gt;user_weightgoal&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Mass&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="k"&gt;pub&lt;/span&gt; &lt;span class="n"&gt;user_stepgoal&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;i64&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="k"&gt;pub&lt;/span&gt; &lt;span class="n"&gt;enabled_plugins&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;Vec&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;PluginName&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="k"&gt;pub&lt;/span&gt; &lt;span class="n"&gt;recent_activity_types&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;Vec&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;ActivityType&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="k"&gt;pub&lt;/span&gt; &lt;span class="n"&gt;did_initial_setup&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;bool&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Migration to Database&lt;/strong&gt;&lt;br&gt;
The current user data is being stored in the Database instead of GSettings for additional flexibility and to help in the support for multiple different users. Each user is assigned a user ID and the active user ID is saved in the GSettings for quick access to a particular user.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Associating Weights and Activities to a User&lt;/strong&gt;&lt;br&gt;
The next part of my project dealt with associating weights and activities to a particular user, such that each data can be saved and extracted based on the user ID of a particular user.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Handling Database Migration&lt;/strong&gt;&lt;br&gt;
Earlier the migration function to migrate Date to DateTime ran for every function and it resulted in a slower application start time. This has been fixed by adding a Version to the Database such that if the Database version is equal to the current version, we skip the migration otherwise, we run the migration and update the database. Furthermore, three additional migration functions are added such that an initial User will be created from the data in the GSettings file and associate each activity and weight to an initial user with user ID 1.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Adding a method to switch users&lt;/strong&gt;&lt;br&gt;
The final part up to my mid-term evaluation dealt with adding a UI to switch multiple users. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's all for my project until now. Here's a link to my MR: &lt;a href="https://gitlab.gnome.org/World/Health/-/merge_requests/174"&gt;https://gitlab.gnome.org/World/Health/-/merge_requests/174&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Next Steps:&lt;/strong&gt; &lt;br&gt;
Now, I would be working on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Adding a new sync model that would help in the support of multiple sync providers for different health categories for each user. &lt;/li&gt;
&lt;li&gt;Pulling out actual activities from Google Fit, &lt;/li&gt;
&lt;li&gt;Two way sync support&lt;/li&gt;
&lt;li&gt;Adding a UI to handle switching of multiple sync providers.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;See you all after 3 weeks. Thanks for reading!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Beginning my GSoC'22 journey with GNOME</title>
      <dc:creator>Aman Kumar</dc:creator>
      <pubDate>Sun, 29 May 2022 06:38:20 +0000</pubDate>
      <link>https://dev.to/amankrx/beginning-my-gsoc22-journey-with-gnome-4lhk</link>
      <guid>https://dev.to/amankrx/beginning-my-gsoc22-journey-with-gnome-4lhk</guid>
      <description>&lt;p&gt;It was the late night of the 20th of May. My eyes were glued to the email, waiting for the results of the GSoC'22 when I finally received an email that started with a &lt;em&gt;Congratulations&lt;/em&gt; message rather than a &lt;em&gt;Thank You for applying&lt;/em&gt; message. I was overjoyed when I read the message "&lt;strong&gt;Congratulations, your proposal with GNOME Foundation has been accepted!&lt;/strong&gt;". This post describes my GSoC project and my journey so far with the GSoC, GNOME Foundation, and Open Source.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xxnfEX3Z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/OzbtuW7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xxnfEX3Z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/OzbtuW7.png" alt="GSoC @ GNOME" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Journey so far
&lt;/h2&gt;

&lt;p&gt;It was the first year of my university when I heard one of my seniors got accepted for the &lt;strong&gt;Google Summer of Code&lt;/strong&gt;. But since I was new to the Computer Science field, I hardly understood any of the terms such as &lt;em&gt;open-source&lt;/em&gt;, &lt;em&gt;git&lt;/em&gt;, etc. One and a half years later, when I had some coding experience, I dived into the open-source world with &lt;strong&gt;Hactoberfest&lt;/strong&gt;. I made my first trivial pull requests during that period. After that, I started looking for some organizations to start with the open-source contribution when I came across the &lt;strong&gt;GNOME Foundation&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I knew the GNOME organization because I used many of their products on my Fedora Desktop. When I joined their IRC, I was initially afraid to ask any questions, as it might have sounded stupid, but the community was generous to answer my stupid questions as well :)&lt;/p&gt;

&lt;p&gt;It took me a long time to get the development environment set up. Then I just started looking for a &lt;em&gt;good-first-issue&lt;/em&gt;, to begin with. In the same period, GNOME Foundation announced that they will be participating in GSoC that year. I remembered GSoC when I heard it in my first year of college, so I started looking for the projects. Out of all those projects, the &lt;strong&gt;Redesigning Health application UI&lt;/strong&gt; caught my mind because I had just won a hackathon where our team built a &lt;a href="https://github.com/amankrx/Healthsy"&gt;Health application&lt;/a&gt;. So a Health based project had a special place in my heart.&lt;/p&gt;

&lt;p&gt;I started working on some beginner issues and also started learning Rust alongside. My mentor, &lt;a href="https://github.com/Cogitri"&gt;Rasmus Thomsen (@Cogitri)&lt;/a&gt; was supportive during the entire period. But, I was too under-confident in my skills, and eventually, I wasn't selected for the GSoC.&lt;/p&gt;

&lt;p&gt;I took this rejection positively and I took some time off to work on my skills and build projects during that period. I started working on those issues again in January and this time the codebase made much more sense than the last time I tried. I went on to solve a few more issues during this period. I came to know that GNOME is participating once again and Health will also participate to revamp their synchronization feature. I participated once again but this time I was confident with myself.&lt;/p&gt;

&lt;p&gt;And finally, I got the mail that I have been selected for the GSoC. It was a journey with a mixed feelings over the years, but I'm excited for what next I have in store.&lt;/p&gt;

&lt;h2&gt;
  
  
  Introduction to Health
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://gitlab.gnome.org/World/Health"&gt;Health&lt;/a&gt;&lt;/strong&gt; is a &lt;em&gt;Health and Fitness&lt;/em&gt; Tracking application. It helps the user to track and visualize their health indicators better. That means a user can track down their activities and weight progressions. The project is created and maintained by &lt;strong&gt;Rasmus Thomsen&lt;/strong&gt;, who is also the mentor of my GSoC project.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Attached below is the screenshot of the Health MainView:&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--of__Kf6m--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/UxX35IX.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--of__Kf6m--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/UxX35IX.png" alt="Health" width="709" height="730"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  About the Project
&lt;/h2&gt;

&lt;p&gt;My project is titled - &lt;strong&gt;&lt;em&gt;Reworking Sync Options for Health&lt;/em&gt;&lt;/strong&gt;. This project aims to improve the synchronization features of the &lt;strong&gt;Health&lt;/strong&gt; application. Currently, most users have to enter their data manually. &lt;strong&gt;Google Fit&lt;/strong&gt; is the only sync provider present at the moment. We can sync steps and weights from Google Fit to our application.&lt;/p&gt;

&lt;p&gt;The current sync feature works as follows:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;We pull out the steps from the sync provider.&lt;/li&gt;
&lt;li&gt;We convert the steps into a walking activity.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This approach works as long as we would only like to track our walking activity. But, it would be great to pull out actual &lt;em&gt;activities&lt;/em&gt; from the sync provider to get a better insight into our Health data.&lt;/p&gt;

&lt;p&gt;So my project aims to improve the following Health synchronization features:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Support for syncing actual &lt;em&gt;activities&lt;/em&gt; from the sync provider.&lt;/li&gt;
&lt;li&gt;Two-way sync support&lt;/li&gt;
&lt;li&gt;Support for multiple sync providers such as &lt;strong&gt;Apple HealthKit&lt;/strong&gt;, &lt;strong&gt;NextCloud Health&lt;/strong&gt;, etc.&lt;/li&gt;
&lt;li&gt;A proper User Interface and a way to handle multiple sync providers for individual Health data such as activities, weight, etc.&lt;/li&gt;
&lt;li&gt;Setting up a proper model so that different Health data can be added in the future.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If the time permits, I would also like to work on the support of &lt;strong&gt;PineTime Companion apps&lt;/strong&gt;. This way Health data can be accessed directly to the cloud services on Health and PineTime companion apps can focus on firmware updates.&lt;/p&gt;

&lt;p&gt;Upon completion, this project will solve the major issues Health has with their synchronization at the moment.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ending notes
&lt;/h2&gt;

&lt;p&gt;I will be updating my blog every two weeks. I have set my goals and milestones accordingly. If you would like to track my journey, keep an eye on the &lt;a href="https://amankrx.com/blog"&gt;blog&lt;/a&gt; for updates, and check the &lt;a href="https://gitlab.gnome.org/World/Health/-/boards/15961"&gt;issue board&lt;/a&gt;. If you would like to have a look at my &lt;a href="https://drive.google.com/file/d/1a0X4WeUNHSKWAVQNFjpUUtb8Gjoy6Jg4/view?usp=sharing"&gt;proposal&lt;/a&gt;, make sure to use it just for reference.&lt;/p&gt;

&lt;p&gt;Finally, I would like to express my gratitude to &lt;strong&gt;GNOME&lt;/strong&gt; for believing in me and giving me this opportunity to contribute. I would also like to thank my mentor &lt;strong&gt;Rasmus Thomsen&lt;/strong&gt; for guiding me throughout the journey.&lt;/p&gt;

&lt;p&gt;At last, I would like to say that I still have a long way to go. Since I've been given this opportunity to contribute, I would stick along the way to contribute to different GNOME projects as well. But for now, I'm looking forward to a great summer ahead with GSoC.&lt;/p&gt;

</description>
      <category>gsoc</category>
      <category>opensource</category>
      <category>gnome</category>
    </item>
  </channel>
</rss>
