Skip to content
Snippets Groups Projects
Select Git revision
  • gsoc-22
  • master default protected
  • gsoc-21
  • gsoc-20
  • develop protected
5 results

Suryansh.md

Monumento

Student - Suryansh Singh Tomar

Links

Monumento

The goal of this year's project was

  • To plan and execute the migration of pre-existing codebase to BLoC (Business Logic and Components) Architecture and State management pattern.
  • To design and implement UI/UX, Database Model and Business logic for a Social Media Platform for Travellers section.
  • To make the app compatible with iOS by writing native swift code and using Flutter's methods channels.

Work done

  1. New UI/UX of Home Screen
  2. Implementation of Feed Screen where a user can view posts of users they follow
  3. Implementation of Comments Screen of a post
  4. Implementation of Notifications Screen of a user
  5. Implementation of New Post Screen with the option to input title, location, and image from gallery/camera
  6. Implementation of Discover Screen for exploring global posts
  7. Implementation of Follow Unfollow Business Logic and UI
  8. Implementation of Profile Screen
  9. Implementation of Profile Form when signing in for the first time
  10. Replaced deprecated Poly links of 3d model with new Firebase Storage Links
  11. Implementation of Models, Entities, and Repositories
  12. Implementation of BLoC architecture and separate UI, logic and data layer.
  13. Implementation of lazy - loading on scroll for the lists in Feed, Search, Comment, Profile and Discover screens.
  14. Data fed and structured in Firestore as the database for app
  15. Replaced deprecated poly links with firebase storage links

Initially, the project ideas were only to add a Social Media section in the app and to make the app compatible with iOS, but I also saw the need to refactor the code into a scalable and maintainable architecture. Therefore, I proposed the idea to migrate the codebase to BLoC architecture as well. Implementing BLoC architecture is not as punishing as it was before the release of flutter_bloc package.

The most crucial part of implementing the Social Media section was planning and designing the Database Model according to the queries I was going to use. After that, I didn't encounter many problems implementing the section.

Deep view into the technology.

I mainly worked on the Flutter module of the Native Android app. I kept the use of packages to a minimum to eliminate the dependencies of the app.

Prominent Merge Requests

  1. Merge request !67 - Migrated the app to BLoC architecture - Status: Merged

  2. Merge request !69 - Added Models and Entities - Status: Merged

  3. Merge request !70 - Implement NewPostScreen, and create Social Repository and Models - Status: Merged

  4. Merge request !71 - Implement Feed Screen and BLoCs - Status: Merged

  5. Merge request !72 - Implement Discover Screen and BLoCs - Status: Merged

  6. Merge request !73 - Implement Profile Screen and BLoCs - Status: Merged

  7. Merge request !74 - Implement Comments Screen and BLoCs - Status: Merged

  8. Merge request !75 - Implement Monumento Screen and Follow-Unfollow BLoC - Status: Merged

  9. Merge request !76 - Implement Notification Screen and BLoCs - Status: Merged

  10. Merge request !77 - Improve Auth Flow - Status: Merged

  11. Merge request !78 - Navigation and UI Completed - Status: Merged

  12. Merge request !79 - Final Touches and Code Refactoring - Status: Merged

  13. Merge request !80 - Replaced Poly Links with Firebase Storage links

  14. Merge request !61 - iOS implementation - Status: Open

Future Possible Work

  • Refactor the code to get dynamic monuments model data from the database
  • Push notifications using FCM or any other service

I want to thank the AOSSIE community and my very supportive mentors, Jaideep Prasad, Thuvarakan Tharmarajasingam, and Tushar Kumar Singh. Being a part of this incredible community feels great. I have learnt a lot in these past 3-4 months and would continue contributing as much as I can.