Skip to content

Instantly share code, notes, and snippets.

@balaji-ramavathu
Last active September 12, 2023 11:00
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save balaji-ramavathu/a19f186a90e96abbcd48e6ed42fbe2bf to your computer and use it in GitHub Desktop.
Save balaji-ramavathu/a19f186a90e96abbcd48e6ed42fbe2bf to your computer and use it in GitHub Desktop.
Final report of GSoC

Final report, Google Summer of Code, 2019

Organization - Amahi

Project - Amahi Android app improvements

Introduction

Hello! I am Balaji Ramavathu, final year B.Tech Undergraduate at Indian Institute of Information Technology, Allahabad. Over the past few months, I have worked with Amahi to improve the Amahi android app. I have improved the UI/UX of the app, added new features and fixed some bugs in the app.

Work done

  • (#475) Light theme feature
    • Implemented light theme feature. User can choose the theme from Settings in the app.
  • (#477) Migration to AndroidX
    • Migration of the project to AndroidX has been done to have better namespaces in the code.
  • (#479) Material design and UI improvements
    • Implemented Material design using the Material design components library by following Google's material design guidelines.
    • UI of Authentication screen and Music player screen has been improved for better user experience.
  • (#480) Landscape layouts improvements
    • Added persistence of data and views like dialogs on screen rotation.
    • Improved UI of screens in landscape mode.
  • (#484) Friending feature
    • Friending feature lets users share content with each other.
    • Implemented display of friend users and friend requests with their status.
  • (#487) Improving file sorting
    • Added new sort-by-file-type option and other sorting options in ascending order.
    • Changed the UI flow from sort option toggling to selection from bottom sheet dialog.
  • (#489) Last opened of each file
    • The last opened of each file is stored and displayed in a dialog.
  • (#492) Secondary user login
    • Made the already implemented secondary user login feature ready for merging by resolving a pool of merge conflicts.
  • (#494) Music player Shuffle and Repeat options
    • Implemented shuffle and repeat features in the music player for better audio streaming experience.
  • (#495) Thumbnails fetching
    • Implemented fetching of thumbnails of image files from the server and displaying them instead of full images in the files list view.

Future work

  • Adding automated UI testing protocol based on Espresso.
  • More testing needs to be done to the new features before releasing them to production.

Conclusion

This is my first time in GSoC. I had a great learning experience working with Amahi. I would like to thank Carlos Puchol (@cpg) for giving me this wonderful oppurtunity and guiding me throughout the journey. I would also like to thank my mentors Kumar (@octacode), @megabitdragon and special thanks to Chirag (@csoni111) for all the guidance and suggestions whenever I was stuck.

I have learned a lot during this journey, working with large codebase, writing better quality code and working with libraries like Event Bus, Retrofit, Room database and many others. The whole experience made me a better software developer and it will help me throughout my career. A big thanks to Google for this amazing program that can really do wonders in the career growth of young developers. Cheers!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment