Home » All » Bazaar | Android Social Listings/Classifieds Shopping Application



Bazaar | Android Social Listings/Classifieds Shopping Application - 1
Bazaar | Android Social Listings/Classifieds Shopping Application - 2
Bazaar | Android Social Listings/Classifieds Shopping Application - 3
Bazaar | Android Social Listings/Classifieds Shopping Application - 4


Bazaar is a great solution for those who need to quickly build a mobile app where people can list their used or new items for sale, and the community can browse ads and chat with products owners to agree on payments and purchases

Bazaar | Android Social Listings/Classifieds Shopping Application - 5

Read Mobile and Web tutorials online

Download the demo APK of Bazaar template

* In case your device will show a Toast message saying “Can’t open file”, just download the Astro File Manager app here: https://play.google.com/store/apps/details?id=com.metago.astro&hl=en
and use it to install the APK. This may happen because of new Android Security options *

iOS version of Bazaar

web PHP version of Bazaar template

Online documentation of Bazaar

Bazaar | Android Social Listings/Classifieds Shopping Application - 6
XSApp is a HTML/CSS theme to create your awesome App Landing Page in no time. Clean, modern design, different header colors, easy to customize.

Bazaar | Android Social Listings/Classifieds Shopping Application - 7

Bazaar | Android Social Listings/Classifieds Shopping Application - 8

Bazaar | Android Social Listings/Classifieds Shopping Application - 9

Bazaar | Android Social Listings/Classifieds Shopping Application - 10
VintyMag is a complete Magazine/Newspaper WordPress Theme where you can showcase your blog news in an old-fashioned look. It is easy to install and configure, and it has got 4 different Home and Categories layouts.

Bazaar | Android Social Listings/Classifieds Shopping Application - 11

Bazaar | Android Social Listings/Classifieds Shopping Application - 12

Bazaar | Android Social Listings/Classifieds Shopping Application - 13


Bazaar is a full-working template (UI + Source Code) to post and browse Ads from any location in the world, and find cool stuff for sale.

People can like and share items to social networks, as well as chat with sellers to discuss price, shipping or simply get more info about the products.

The iOS, Android and PHP versions can share the same database on back4app!

The Admin should daily check the database for reported content/users, and take action for it.

The design is clean, code is commented and project folders and files are well organized in the package.

• Check out the Features section below to see what this app does.
• Read the online Documentation to learn how to configure the template’s features and the database (Parse Dashboard).
• Keep an eye to the Change Log on the bottom of this page when an update gets released.


It’s backend is by Parse Server and it’s hosted on back4appNO MySQL database involved.
Parse Server is flexible, reliable, open source, based on Node.js and well supported by a large community of developers, and back4app is a great BaaS hosting website where you can configure your database, Push Notifications and other features in just a few clicks.

If you want to see a preview of the structure of the demo database, and also clone it in just a click, CLICK HERE!

If you want to use a nice Admin Panel to manage data of your database instead of the Parse Dashboard, sign up for a FOREVER FREE account on Adminca.com and watch this video to see how to create a Panel for your Parse App.

Extended License

As per Envato Marketplace Terms, the Extended License applies to all applications that charge money to their users. In case your users will not be charged of money through your own version of this app, you can still buy it under a Regular license.
Therefore, you must buy this template under and Extended License if your plans are either one or more of the following:

  • Add In-App Purchase or any other Payment Gateway in the source code and publish the app for free on the App/Play Store – NOTE: If you want to publish your own version of this application for FREE only, then you can still buy it under a Regular License.
  • Publish this application as a PAID app on the App Store.
  • Transfer the live app of your own verison of this app on the App/Play Store to another owner by selling your ownership on flippa.com or similar marketplaces.

IMPORTANT: You are NOT allowed to sell or share the original source code of this template anywhere due to copyright infringement


Java/XML language – Native Android Studio project – Edit the template as you wish with the power of Android Studio and Java code.

Android 5.0 and above, Universal – Run your app on about 80% of Android devices

Backend with Parse Server hosted on back4app – Built on a great and reliable BaaS that offers many features with just a few clicks, it’s super easy to create and set up a database on back4app, as well as edit the Parse Server’s SDK code.

Browse stuff from people you follow and don’t, and yours too – From the Home screen, you can search for ads from any place, use the built-in Map to select your location – you must allow it on your browser – or search for an address to fetch listings.

Chat with sellers – Ads owners can get private messages from interested users and reply in real time.

Change location on a custom Map – To either post ads or browse them, you can select a location by opening up the Map and move it to place the pin and search for products. You can also type a custom address or city name and select the distance range.

Email verification – After signing up, people will get an email with a validation link. Users with a verified address will be displayed in their profile pages.

Edit/Delete your own Ads – From the Listing Info page, people can choose to delete or edit their items with the 3-dot options button.

Report inappropriate listings or people – Users are able to flag offensive content/sellers, the Admin must daily check the database to see what has been reported and take action for it.

Like listings – Save favorite ads by liking them, you can find them in your Account screen -> Liked section.
Search listings by keywords – Keywords search is essential, so you can perform it to find what you need around the selected location.

Notifications screen – Check likes and followers in this section, and get to users profiles.

See your Account’s info – The Account screen is where you can enter the settings and see what ads you have posted, sold or liked.

Settings page – Edit your profile, avatar picture and biography, or logout the website.

Terms of Use and Privacy Policy HTML file (GDPR compliant) – The template contains an HTML file the Admin can edit to display his Terms of Service to the app’s users.

Facebook login – People can quickly sign up or sign in via Facebook from the Intro page.

Push Notifications – People get Push messages for likes, follow and chat messages.

Modern, clean design – The UI has been carefully crafted to offer the best user experience to your clients.

Online Documentation – Read the extensive guide of this template to be able to configure it properly.

PSD icons included in the package – App and buttons icons are stored into a PSD folder, for easy image replacement.


The latest official version of Android Studio – Beta versions of an IDE usually never work 100% properly, and the code of this app has been written using the latest official version of AS (download it here. You must use it and avoid Betas.

An Apple Mac or Windows computer, updated to its latest OS version – It’s always good to keep your computer’s OS up to date, technology keeps growing and I follow its changes, as well as updating my templates every time a new OS gets released.

A Google Play Developer Account – This is needed for you to publish apps on the Play Store. You can still edit and test this template on Android Studio without that account though.

Basic knowledge of Android Studio and Java/XML language – You don’t need to be a skilled or professional developer, anyway it’s recommended to have at least the basic knowledge of what you’re dealing with, in order to be able to customize this template and publish your applications on the Play Store.

A free account on back4app.com – You can create and edit your Parse App and database, get the necessary keys for configurations and test this template for free. It has limitations though, so please check the Pricing table and consider subscribing for a paid plan after your app got published on the App Store.

An active AdMob account – Unless you want to remove ads in this app, you need to sign up for an AdMob account to display them.

A real device to test the app before submitting it to the Play Store – Emulators may fail during tests, they are not reliable as a real device is, so I strongly recommend you to always run this application on a real phone/tablet. This is also suggested by Google’s official Guidelines.

Change Log

December 23, 2019

- Updated the 'main.js' file to compile with the latest Parse Server 3.x version | Remember to update the Parse Server version of your app on back4app from the 'Manage Parse Server' section!

December 17, 2019

- Updated the 'main.js' file to compile with the latest Parse Server 3.x version.
1. Update your Parse Server to the latest version (currently it's 3.9.0) from the 'Manage Parse Server' section of your Parse App on back4app- unless you already have the latest version selected.
2. Upload the updated 'main.js' file into the 'Cloud Code Function' section of your app on back4app, overwrite the existing one and Deploy it.

December 10, 2019

- Updated to Android Studio 3.5.3
- Updated:
    compileSdkVersion 29  
    targetSdkVersion 29
in the 'build.gradle' file.

August 22, 2019

- Updated to Android Studio 3.5

July 17, 2019

- Updated to Android Studio 3.4.2

June 20, 2019

- Installed 'Android 9.0 (Pie)' Platform form the Android SDK Manager (you should do the same in your Android Studio in case you haven't done that yet, and the perform the updates below).
- Edited build.gradle (Module: app) file by setting the 'compileSdkVersion and 'targetSdkVersion' into 28
- Did: Refractor -> Migrate to AndroidX, so after doing the suggested Refractor, some dependencies changed in the build.gradle (Module: app) file, compare your old files with the updated ones.
- Updated some dependencies in build.gradle(Module: app) file, compare your old build.gradle file with the updated one to perform updates
- Replaced:
    import com.parse.ParseFacebookUtils;
    import com.parse.facebook.ParseFacebookUtils;
in Configurations.java and Intro.java

June 6, 2019

- Updated to Android Studio 3.4.1
- Removed the automatic Camera popup when you're about to sell a new Item by editing the SellEditStuff.java file
- Removed the following lines of code in the 'sellStuffButt()' function in Home.java and Account.java files:
    Bundle extras = new Bundle();
    extras.putBoolean("isFirstPhoto", true);

** Compare your old .java file with the updated ones and perform the code changes **

May 7, 2019

- Updated to Android Studio 3.4
- Updated some dependencies in build.gradle(Modiule:app) to their latest versions

February 22, 2019

- Fixed a bug on Push notifications by editing the following files:
    build.gradle (Module:app)
    Home.java -> 'onStart()' function.

- Updated the 'main.js' file, so you have to upload it again into your own Cloud Code Functions section on back4app and overwrite the existing one, then click the DEPLOY button.

** In order to update your app, compare the updated files mentioned above with your own ones and perform the changes accordingly **  

February 14, 2019

- Added an AlertDialog.Builder inside the 'markAsSoldButt.setOnClickListener()' function - into the 'SellEditStuff.java' file - in order for the app to dismiss the screen after marking an item as SOLD

February 8, 2019

- Updated to Android Studio 3.3.1
- Updated the 'build.gradle(Project:)' and 'build.gradle(Module:app)' files 
[compare the updated code with your old code and perform changes accordingly]

January 23, 2019

- Updated to Android Studio 3.3
- Edited the 'hideHUD()' function in 'Configurations.java' as it follows:
    if (hud != null)  hud.dismiss(); 

- Added 'hideHUD();' instances in 'Home.java' -> 'setDefaultLocation()' and 'setCitySate()' functions
- Edited the 'sellButt.setOnClickListener()' function in 'SellEditItem.java', in order to send a push notification to all those who follow the currentUser

January 18, 2019

- Removed 'boolean' from the 'isNegotiable = adObj' line of code from the 'showItemDetails()' function in the 'SellEditStuff.java' file, now it looks like this:
    // Negotiable
    isNegotiable = adObj.getBoolean(ADS_IS_NEGOTIABLE);

- Fixed a small bug on dismissing the Camera before taking the first picture by editing the SellEditStuff.java file -> 'onActivityResult()' function, I've added this else statement at the end of it:
    // Finish the Activity in case you haven't taken the 1st photo
    } else  if (isFirstPhoto)  finish();  

- Added a public function called 'isInternetConnectionAvailable()' into the 'Configurations.java' file, and wrapped the 'void queryAds()' function in 'Home.java' into an IF statement like this:
    // Check for Internet connection
    if (!isInternetConnectionAvailable(ctx)) 
        simpleAlert("Your Internet connection seems to be offline, please check it out and get connected to either WiFi or Mobile data.", ctx);

- Placed the same IF statement into the following files/functions:
  • 'MapScreen.java' -> 'onCreate()' function
  • 'NotificationsScreen.java', -> 'queryNotifications()' function
  • 'Account.java' -> 'queryAds()' function
  • 'AdInfo.java' -> 'showAdInfo() function
  • 'Chats.java' -> 'queryChats()' function
  • 'FollowingAds.java' -> 'queryFollowingAds()' function
  • 'Messages.java' -> 'queryMessages()' function
  • 'SellEditStuff.java' -> 'sellButt.setOnClickListener()' function
  • 'Settings.java' -> 'showUserUserInfo()' function
  • 'SignUp.java' -> 'signUpButt.setOnClickListener()' function
  • 'Intro.java' -> 'facebookButt.setOnClickListener()' function
  • 'Login.java' -> 'loginButt.setOnClickListener()' function
  • 'UserProfile.java' -> 'queryAds()' function

January 17, 2019

- Fixed a crash - occurred after deleting an Ad and then entering the Chats screen - by editing the 'if (options[which] == "Delete Ad")' function into AdInfo.java, and the 'deleteItemButt.setOnClickListener()' function in SellEditStuff.java

•• Into the Configurations.java file:
- Added these lines:
    let MESSAGES_DELETED_BY = "deletedBy" 
    let CHATS_DELETED_BY = "deletedBy" 

•• Into the Messages.java file:
- Added this line into the 'sendMessage()' function:
    mObj.put(MESSAGES_DELETED_BY, new ArrayList<>());

- Added these lines into the 'queryMessages()' function:
    List<String>currentUserID = new ArrayList<>(); 
    query.whereNotContainedIn(MESSAGES_DELETED_BY, currentUserID);

- Added this line into the 'saveLastMessageInChats()' function:
    chatsObj.put(CHATS_DELETED_BY, new ArrayList<>());

- Edited the 'case 2:' statement into the 'optionsButt.setOnClickListener()' function, in order to allow users to delete chat messages only for them, so the ones who they were talking to can still see all messages.

•• Into the Chats.java file:
- Added these lines into the 'queryChats()' function:
     List<String>currentUserID = new ArrayList<>();
     query.whereNotContainedIn(CHATS_DELETED_BY, currentUserID);

**IMPORTANT**: IF THIS IS AN UPDATE FOR YOU, you must perform the following steps:
1. Compare your old files with the ones mentioned above, and perform code changes.
2. After you've performed the code changes, run the app and send at least a chat message to your test users by using the app.
3. Stop the app, enter your Parse Dashboard -> 'Messages' class, find the 'deletedBy' column and fill all its empty cells  by typing [ ] into each one, one by one (double-click into a cell -> type [ ] -> hit Enter)
4. Do the same thing into the 'Chats' class

January 6, 2019

- Replaced
    startActivity(new Intent(ctx, Home.class));
into SignUp.java and Login.java, in order to fix a bug in case of logout from an account and login to a different one

December 28, 2018

- Fixed a small bug in the Messages.java file -> ' mObj.saveInBackground(new SaveCallback()' function by replacing 
In this way, the app will send push notifications for chat messages.

- Set the Facebook Android SDK to its stable '4.37.0' version in build.gradle:
    implementation 'com.facebook.android:facebook-android-sdk:4.37.0'

December 8, 2018

- Replaced 'finish()' with this ine of code into the 'dismissButt()' function in Intro.java:
      startActivity(new Intent(ctx, Home.class));

November 21, 2018

- Fixed a small bug in the account screen by editing 'showUserInfo()' function in Account.java, the emailVerified code

November 7, 2018

- Removed all instances of "Configurations." in all .java files, since I've imported them in the imports section on the top of the .java files
- Changed the Documentation design

October 19 2018

- Updated to Android Studio 3.2.1 - included build.gradle dependencies
- Added this piece of code into Manifest.xml:
   <!-- AdMob -->

- Added this line into the 'showAdMobInterstital()' function in Configurations.java:
     MobileAds.initialize(ctx, ctx.getString(R.string.ADMOB_APP_ID));

- Added this line into strings.xml:
     <string name="ADMOB_APP_ID">ca-app-pub-7337790155065092~8384194898</string>

- Updated the Documentation

August 7, 2018

- First release, Android 5.0 and above
- Native Android Studio project, Java language


For any support requests, please contact me through my Profile’s Contact Form

Rate my Work

Your support is always greatly appreciated, from comments to product’s reviews, so please click here to rate your purchases!

Flag Counter