Petty planet is an place where you can upload pics of abandoned pets so that the people interested to adopt pets can connect adopt the pets they wish to adopt.
-
Used Firebase to storage to store the Images uploaded by the users and then waited for the imageurl to come , after the imageurl is successfully generated , I used the imageurl along with the other information provided by the user to create a post in the Firebase Realtime Database
-
Implemented Standard Google Login to authenticate users of my app
-
Integrated Camera and Gallery acess in the app so that users can users can upload images using any medium they prefer
-
The app uses many fragments and it consumes the jetpack navigation components to navigate around different fragments
-
Used Firebase to store the user details online and used SharedPreferences to store the user information in the device itself
-
Used Room To store the posts user desires in the device itself
-
Used dependency injection to inject the required information at the desired places (for eg Injecting the instance of Room Db in different ViewModel)
-
Used ViewBinding and followed MVVM to make the data persistent even if the views are recreated
-
Used Lottie Animation to add some animations
-
Wrote tests to check that the Room Db is working Fine(used the truth library by google for making assertions)
Login Screen | Main Feed | Upload Fragment |
- The upload fragment can be improved in many ways , I can compress the image the before uploading to make the upload and retrieval faster , the upload can also be done using a background service
- Also I wish to cache the posts using Room Db so that while the new posts are still being fetched the users has something to interact with
- Write more tests
- Implement other login methods such as Facebook Login
- Make some improvements in the Ui