https://github.com/abdulazeem-tk4vr/livemart
Grocery Shop ecommerce Mobile App with Firebase Realtime Database built in Java using Android Studio.
https://github.com/abdulazeem-tk4vr/livemart
android android-application android-studio college-project crud-application customer firebase firebase-auth firebase-realtime-database firebase-storage grocery gui-application java language object-oriented-programming problem-statement retailers shop xml
Last synced: about 2 months ago
JSON representation
Grocery Shop ecommerce Mobile App with Firebase Realtime Database built in Java using Android Studio.
- Host: GitHub
- URL: https://github.com/abdulazeem-tk4vr/livemart
- Owner: abdulazeem-tk4vr
- License: mit
- Created: 2021-03-31T15:17:37.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2025-04-03T20:18:56.000Z (about 2 months ago)
- Last Synced: 2025-04-03T21:25:54.026Z (about 2 months ago)
- Topics: android, android-application, android-studio, college-project, crud-application, customer, firebase, firebase-auth, firebase-realtime-database, firebase-storage, grocery, gui-application, java, language, object-oriented-programming, problem-statement, retailers, shop, xml
- Language: Java
- Homepage: https://github.com/tk4vr/oop_anidev
- Size: 6.93 MB
- Stars: 28
- Watchers: 1
- Forks: 10
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Grocery Shop eCommerce Android Application
**(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](https://drive.google.com/file/d/1vJVX2_IoBgb7cZaiypGeQTA6cj_qEzAo/view?usp=sharing)
🔗 [GitHub Repository](https://github.com/abdulazeem-tk4vr/LIVEMart)---
## Table of Contents
- [System Overview](#system-overview)
- [Architecture & Stack](#architecture--stack)
- [Core Modules & Features](#core-modules--features)
- [Firebase Schema](#firebase-schema)
- [Getting Started](#getting-started)
- [Resources](#resources)
- [Contributors](#contributors)---
## System Overview
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.
---
## Architecture & Stack
### 📦 Backend
- **Firebase Realtime Database** (NoSQL, hierarchical JSON tree)
- **Firebase Authentication** (email/password + OTP)
- Admin controls for inventory visibility (approve/hide products)### 📱 Frontend
- **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### 🧰 Development Tools
- **Android Studio** (Gradle-based build system)
- **Canva** for layout prototyping and visual design---
## Core Modules & Features
### 🔐 Registration & OTP Authentication
- Role-based sign-up: Customer, Retailer, Wholesaler
- Phone number OTP verification via Firebase Auth
- Google Geocoding API to capture latitude/longitude### 📊 Dashboards
- 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### 🔎 Category & Product Search
- Filter by:
- **Distance** (via user-entered km radius)
- **Stock availability**
- **Retailer/Wholesaler proximity**
- Dynamic UI with distance and stock validation warnings### 🛒 Order Management
- **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### 🗣 Feedback & Queries
- Product-specific feedback stored in Firebase
- Displayed to other users while browsing the item### 🛠 Admin Approval System
- Admin can:
- Approve new products
- Temporarily hide/unhide listings
- Controlled via backend flags in Firebase---
## Firebase Schema
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](https://drive.google.com/file/d/1G5YEXlrrd9oTsYyQz4_6TEx_2MoTLTua/view?usp=sharing)
🔍 Use [CodeBeautify JSON Viewer](https://codebeautify.org/jsonviewer) to visualize the schema from the exported `.json` tree.
---
## Getting Started
### 🛠 Prerequisites
- Android Studio (latest)
- Android device/emulator (API 28+)
- Firebase account and `google-services.json`### 🚀 Setup
1. Clone this repository
2. Import it into Android Studio
3. Sync Gradle and build the project
4. Run on an emulator or connected device---
## Resources
- [CodePath Android Guides](https://github.com/codepath/android_guides)
- [Android Roadmap](https://github.com/coder2hacker/Android-Development-RoadMap)
- [Udacity Android Basics](https://classroom.udacity.com/courses/ud9012)
- [Android Studio Setup](https://www.youtube.com/watch?v=FeKfIWJyQMs)
- [Running First App](https://www.youtube.com/watch?v=13DPpfuP1Zs)---
## Contributors
- [**Abdul Azeem**](https://github.com/abdulazeem-tk4vr) – Backend, Firebase, Role-based logic
- [**Anirudh Sundar**](https://github.com/Anirudh-Sundar) – UI/UX, XML layouts, navigation
- [**Karthik Suresh**](https://github.com/karths8) – Firebase schema design, voice API integration### 🙌 Special Mention
- [**Aryan Arora**](https://github.com/aryanarora180) – Feedback module support and UI testing📈 [Contribution Graph](https://github.com/abdulazeem-tk4vr/LIVEMart/graphs/contributors)
---
> 💬 For questions, contact **[email protected]** | **https://www.linkedin.com/in/abdulazeem-shaik/**