(Java + Firebase Realtime Database)
LIVEMart is a full-stack Android-based mobile eCommerce platform enabling B2C and B2B grocery transactions between Customers, Retailers, and Wholesalers. Built with Java (Android SDK) and Firebase, the app supports real-time syncing, role-based dashboards, offline reminders via speech input, and product moderation via admin controls.
📄 Detailed Report
🔗 GitHub Repository
- System Overview
- Architecture & Stack
- Core Modules & Features
- Firebase Schema
- Getting Started
- Resources
- Contributors
LIVEMart simulates a real-world grocery eCommerce flow with three main user roles:
- 🧍 Customers place orders for household groceries.
- 🧑💼 Retailers source items in bulk from wholesalers and sell to customers.
- 🏬 Wholesalers add and manage high-volume stock, servicing retailers.
The application supports both online transactions (with delivery tracking) and offline orders via calendar reminders and voice input using the Google Voice API.
- Firebase Realtime Database (NoSQL, hierarchical JSON tree)
- Firebase Authentication (email/password + OTP)
- Admin controls for inventory visibility (approve/hide products)
- Java (Android SDK)
- XML for UI layouts
- Material Design principles for UI consistency
- Google Geocoding API for location-based filtering
- Voice Recognition API for offline reminder memos
- Android Studio (Gradle-based build system)
- Canva for layout prototyping and visual design
- Role-based sign-up: Customer, Retailer, Wholesaler
- Phone number OTP verification via Firebase Auth
- Google Geocoding API to capture latitude/longitude
- Role-specific dashboards:
- Customer: Browse items, filter by distance/stock, view cart/orders
- Retailer: Purchase from wholesalers, manage customer transactions
- Wholesaler: Add/update inventory, fulfill retailer orders
- Filter by:
- Distance (via user-entered km radius)
- Stock availability
- Retailer/Wholesaler proximity
- Dynamic UI with distance and stock validation warnings
- Online orders:
- Cart-based ordering with unique order IDs
- Delivery details, cash-on-delivery, and feedback submission
- Offline orders:
- Set future reminders using calendar + voice input
- Voice-to-text conversion via Google Speech API
- Product-specific feedback stored in Firebase
- Displayed to other users while browsing the item
- Admin can:
- Approve new products
- Temporarily hide/unhide listings
- Controlled via backend flags in Firebase
The app uses a hierarchical JSON schema for:
- Users (with roles)
- Products (per category/store)
- Orders (with unique transaction IDs)
- Feedback
- Admin flags for moderation
📂 Realtime DB Schema Visualization
🔍 Use CodeBeautify JSON Viewer to visualize the schema from the exported .json
tree.
- Android Studio (latest)
- Android device/emulator (API 28+)
- Firebase account and
google-services.json
- Clone this repository
- Import it into Android Studio
- Sync Gradle and build the project
- Run on an emulator or connected device
- CodePath Android Guides
- Android Roadmap
- Udacity Android Basics
- Android Studio Setup
- Running First App
- Abdul Azeem – Backend, Firebase, Role-based logic
- Anirudh Sundar – UI/UX, XML layouts, navigation
- Karthik Suresh – Firebase schema design, voice API integration
- Aryan Arora – Feedback module support and UI testing
💬 For questions, contact [email protected] | https://www.linkedin.com/in/abdulazeem-shaik/