Cloud Storage Firebase MVVM – Images Text Upload/Download/Update/Delete

$9.99 $2.99

This is a Firebase Cloud Storage + Firebase Realtime Database project. You learn how to Upload/Download/Update/Delete/Paginate/Search data, in the process creating a full app. In this case we are creating a Largest Stars App but you can be creative and modify it based on your own idea. This is easy as even though this is a full app, it’s designed to be used as atemplate for creating other projects. Alot of care has thus been taken while designing the code and we chose to use the Model View ViewModel pattern recently added to android development by Google.

By using Clean Architecture, we’ve made this project easy to follow and understand and extend. The code is high quality and tested against common errors and therefore will not crash easily. When an operation is being performed, for example uploading data to Firebase, a progress card is shown which shows you exactly the operation currently ongoing. If an error is raised, the error is displayed in the card. Because of this you can easily understand what the app is doing even without looking at the code.

Get this and all other Downloads,as well as new projects every week for Free by purchasing Become a Premium Member.


Do you want the perfect project to learn how to work with Firebase Cloud Storage + Firebase Realtime Database? That is the project to perform CRUD on both images and text. Do you want to learn Firebase using Clean Architecture, using Model View ViewModel pattern? Do you want a well tested project you can modify then use to create your own app? Well then this project is for you.

Here are the things this project does:

  1. User can Upload Images and text. Images get stored in Firebase Cloud Storage while Text in Firebase realtime database. Image URL also gets stored in cloud storage.
  2. When user navigates over to Listings screen, data is automatically downloaded from Firebase realtime database. If there is no internet then an message is shown to the user.
  3. That data is automatically paged/paginated at the Firebase side. Thus it gets downloaded quickly as we are loading only a small amount. However as user scrolls the recyclerview, the next page is automatically fetched. When there is no more data then we inform the user.
  4. The fetched images are shown in a beautiful carousel/slider on top of our recyclerview. User can swipe those images or leave them to be autoswiped with beautiful animations being applied.
  5. When user clicks a single cardview,we automatically navigate over to the detail screen. As we move to the next activity we apply activity transition animations. In the detail activity we simply render the details in a beautiful dark screen.
  6. When user clicks on the edit floating action button we slide over to the editing screen. Here the user can update our data. The user can re-select a new image and and or change the text then click update. If the user did select a new image, we will remove the previous image from Firebase Cloud storage then replace it with the new uploaded image, then save the new image url alongside the updated text in Firebase realtime database.
  7. When the user clicks delete we delete the image from Firebase cloud storage and the text from firebase realtime database.
  8. We have a dashboard screen which is like the home screen. Here the user can navigate over to the CRUD screen, the listings screen, the About Us screen or exit the app.
  9. Runtime Permissions with Dexter.


Additional information

Programming Language


Design Pattern

Model View ViewModel


Firebase Realtime Database,Firebase Cloud Storage


Runtime Permissions with Dexter


So let’s assume you are a newbie and you have bought the project, what do you do next? First and foremost the project will be downloaded into your machine as a zip file.

Here are the steps you follow:

  1. Open up your android studio
  2. Go to File –> Open Project.
  3. Choose the downloaded zip file. Android Studio will load it and attempt to build the project.
  4. However because we are using libraries like Firebase, you will need internet connectivity to sync the app dependencies atleast for the first time.
  5. Click sync, android studio will display it if the dependencies haven’t been synced.
  6. Once the sync is complete build the project APK or run it while connected to a phone or emulator.







You may need to make a few changes so as to have to complete control of the app. For example by this time even if you project is running, it is still using our database. You may need to use your own Firebase database.


Don’t worry. It’s pretty easy to create a Firebase Database. You can even do it from android studio. Go to Firebase Assistant in the Tools menu, then click Firebase Realtime Database. You need to be connected to internet. It will prompt you to either choose a Firebase App you have or Create One if you don’t have. Just be aware that after creating a firebase app, you will need to go to your Firebase Console and enable unauthenticated reads and writes. This will allow you application to be able to write and read data from Firebase without authentication.


Demo and APK

You need to know what you are buying. Download the APK below:



We have written a public article associated with this project. READ IT HERE.

Updates History

We continue updating all our projects, fixing bugs, releasing more features and improving code quality. If you buy the project we will continue sending you the updates via email.

Here are the update history so far:

13 November 2019

  • Published the project.

9th January 2020

  • Added Support for Search Highlights


We provide lifetime support exclusively by email address. I always reply as soon as I receive the email. However this will be within a 24 hour window.

My email address:




Let’s address some of the questions you may have. Remember you can ask us any question, even those not related to this project via my email address:


Why do you Charge for Projects, why don’t you just offer them for Free?

Well we have more than 5oo free mini-projects and tutorials, and almost 1000 free coding videos in YouTube.

However alot of students kept asking us to make full projects. We looked online and saw that indeed it was difficult to find full, easy to understand, supported and high quality projects geared towards students. So we decided to fill this void. However it takes alot of time and effort so we charge for sustainablity. We also provide lifetime support and updates to our projects. Thankfully, we are getting good feedback of this decision.


What if I buy the Project and it doesn’t work?

Well we thoroughly test our projects across many devices and only publish them once we are sure they work. However if there is a problem, probably in some devices you can contact us and we will provide a fix. However we only provide fixes related to the project and not general or apps you have created. We can do that but in a separate plan.


Do you Offer Refunds?

No we don’t offer refunds. However we are fully available to offer you support if you are not happy.


Can You Help me customize this Project and add more features?

Yeah. However again this is a different plan. Feel free to email us the features you want and we will talk.


Will You be sending me Updates?

Yeah. We will be sending updates to your email address. We provide lifetime updates.


Do Projects help me learn Faster?


Absolutely. People learn coding by coding. Reading is good but it’s slow and you won’t get far just by reading. Projects force you to work with several concepts even if you may not understand them in detail at first. Getting a project designed for students will ease you in. Try this, read a book or articles for one month and document what you can do, then get a good project and attempt to customize it for one month, then compare the improvements you made between those two months.