Wanna see a real life example of DataBase with MVVM patter in android app, then this blog is for you….

Pravin Pawar
5 min readMar 30, 2021

--

We have used Room database with MVVM pattern for this android project.

Before I start my blog writing on the clone of Splitwise App, I want to thank

Masai School for this great opportunity and for providing this spectacular platform where lot of enthusiastic engineers are learning and becoming the job ready skilled employee.

To be honest I never knew I’ll be able to make the app in just 4 days on the basis of what I learnt in few months of Masai School 12–6–6 program, But Masai made this happen.

So let’s move to my first ever blog on How we Made UI clone of largely used Splitwise App.

So what is basically tinder app and why people use it ?

Splitwise is a free tool for friends and roommates to track bills and other shared expenses, so that everyone gets paid back.

From where did we start project?

On the very first day of our unit Nrupul Devineni had taught us how to use GitHub(which is used for a code hosting platform for version control and collaboration). So we first made Repository on GitHub for proper flow of project and that we can push, pull and merge our individual work. Then I sent collaboration invitation to other group members and other cloned it inside the project folder of system using Git Bash command prompt.

As it there were 4 members in group of three students we distributed our project.

Following are the steps how we created clone and what features we used inside it.

This is the very first page comes after user opens the app for the very first time.

Functions we have used:

  1. LinearLayout and few imageview ,Textviews.
  2. We have connected this with local database .
  3. Also we have connected this with google for better user experience.
  • This pages comes up after user click on Signup page
  • Also we have implemented camera feature here so user can click picture and set it as user profile.
  • We have used localdatabase for storing user login information.
  • All user details will be stored in local database and if user didnt Signup he will not be able to login because his data will not be available in localdatabase.
  • This three pages are just introduction pages for user like how the app can be useful for him and how he can use app efficiently
  • For this three pages we we have used scrolling fragments useing single activity.
  • We have used sheraprefrance to pass the user data here.
  • This are two landing pages come after the introduction scrolling pages.
  • Here we have used shearprefrences for storing the user data and we got that data on this menubar.
  • on second page we have used three Tab fragments called FRIENDS , GROUPS, ACTIVITY .
  • This are the home pages here we have provided adding data to database functionality so user can add and see his inserted/ saved data in recyclerview.
  • We have used floating button so on click of this new activity gets open and user will able to add all information related to his expenses.
  • All the data inserted will be displayed on this page itself as we have used recyclerview
  • On click of floating button on homepage this Add expenses activity gets open up.
  • On this page we have asked user his contact details permission.
  • On click of contacts , user can add all the participants/contributor to specific category of expenses.
  • All the data will be stored in backend.

Challenges We faced during this project construct week are ..

As we were optimized and sorted everything at the first time there were very less challenges in our project but few of them are…

  1. Few things in original Splitwise app those were we haven’t learnt till now are difficult to design but somehow we achieved 70–80% of accuracy.
  2. Few conflicts while merging the Git branches are the obvious part but we as a team solved those conflicts by sharing screen on ZOOM meeting and that time we all felt like “Yeeyy, We can also solve our own conflicts and we have gain that much of knowledge till now” that was really confidence building experience.
  3. One of the Challenging part was to present app in in front of guest in just 5 min so we practiced a lot for this. AND BECAUSE OF THIS WE GOT SELECTED IN TOP 6 GROUP FOR BEST PRESENTATION.

What I learnt during this construct week

  1. How to use GitHub and how to collab with group mates.
  2. How to implement database(ROOM Database).
  3. How to use shearprences.
  4. Teamwork.
  5. Project Presentations.
  6. Most important MVVM pattern and it was one of the crucial part of our project.
  7. I learnt how to debug our code.
  8. How to work and communicate with a team.
  9. How to give proper naming conventions so that any person who reads a code will understand it.
  10. How to be more efficient and productive at a same time.
  11. Different attributes in android studio.

Conclusion

Anything in this world is possible and I started believing this after I join Masai School . Before that I was thinking making application like splitwise , Amazon and Tinder is next to impossible for non-IT’s like me . But can’t believe I can literally making apps and using all the difficult functions that every Android developer dreams of learning and implementing in his lives ever.And that all are possible just because Masai School. :))

Please let me know how was my Blog in the comments, Signing off ..Thanks for reading ;)

--

--

Pravin Pawar
Pravin Pawar

Written by Pravin Pawar

Mobile Application Developer

No responses yet