Skip to content

mr-piyushkr/Foodify-Android-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ• Foodify - Food Delivery App

Platform Language Architecture Database API

πŸš€ A Complete Food Delivery Android Application

Built with modern Android development practices, featuring real-time food ordering, cart management, and seamless user experience similar to Swiggy/Zomato.

πŸ”— GitHub Repo: Link

πŸ“¦ APK: Link


πŸ“± Screenshots

Splash Screen Home Screen Restaurant Menu Cart

✨ Features

🎯 Core Functionality

  • πŸ” User Authentication - Secure login/signup with data persistence
  • 🏠 Home Dashboard - Browse food categories and nearby restaurants
  • 🍽️ Restaurant Menus - Detailed food items with prices and descriptions
  • πŸ›’ Smart Cart Management - Add, remove, and modify cart items with real-time updates
  • πŸ’³ Checkout Process - Complete order placement with address and payment selection
  • πŸ“ Location Services - Integration with maps for delivery tracking

🎨 UI/UX Excellence

  • πŸ“± Material Design - Modern, intuitive interface following Google's design guidelines
  • 🌟 Smooth Animations - Lottie animations and seamless transitions
  • πŸ’€ Skeleton Loading - Professional loading states for better UX
  • 🎭 Adaptive Icons - Custom food delivery themed app icon
  • πŸ“ Responsive Design - Optimized for different screen sizes

πŸ—οΈ Technical Architecture

  • πŸ›οΈ MVVM Pattern - Clean separation of concerns
  • πŸ—„οΈ Room Database - Local data persistence for cart and user data
  • 🌐 Retrofit Integration - RESTful API communication
  • πŸ“Š LiveData & ViewBinding - Reactive UI updates and type-safe view references
  • πŸ—ΊοΈ Maps Integration - OpenStreetMap with PositionStack geocoding

πŸ› οΈ Tech Stack

Category Technology
Language Java
Architecture MVVM
Database Room SharedPreferences
Networking Retrofit Gson
UI Components Material Design RecyclerView
Image Loading Glide
Animations Lottie
Maps OpenStreetMap PositionStack

πŸš€ Getting Started

Prerequisites

  • Android Studio Arctic Fox or later
  • JDK 11 or higher
  • Android SDK with minimum API level 24
  • Git for version control

πŸ“₯ Installation

  1. Clone the repository

    git clone https://github.com/mr-piyushkr/Foodify-Android-App.git
    cd Foodify-Android-App
  2. Open in Android Studio

    • Launch Android Studio
    • Select "Open an existing project"
    • Navigate to the cloned directory
  3. Sync dependencies

    ./gradlew build
  4. Run the application

    • Connect an Android device or start an emulator
    • Click the "Run" button in Android Studio

πŸ”§ Configuration

API Keys Setup

Add your API keys to Constants.java:

// Foursquare API for restaurant data
public static final String FOURSQUARE_API_KEY = "YOUR_FOURSQUARE_API_KEY";

// PositionStack API for geocoding
public static final String POSITIONSTACK_API_KEY = "YOUR_POSITIONSTACK_API_KEY";

Database Configuration

The app uses Room database which is automatically configured. No additional setup required.

πŸ“ Project Structure

com.piyush.foodify/
β”œβ”€β”€ πŸ“ ui/
β”‚   β”œβ”€β”€ πŸ“ activities/          # Activity classes
β”‚   β”œβ”€β”€ πŸ“ fragments/           # Fragment classes
β”‚   └── πŸ“ adapters/           # RecyclerView adapters
β”œβ”€β”€ πŸ“ data/
β”‚   β”œβ”€β”€ πŸ“ model/              # Data models
β”‚   └── πŸ“ repository/         # Repository pattern implementation
β”œβ”€β”€ πŸ“ database/               # Room database components
β”œβ”€β”€ πŸ“ network/                # API interfaces and clients
β”œβ”€β”€ πŸ“ viewmodel/              # ViewModel classes
└── πŸ“ utils/                  # Utility classes and constants

🌐 API Integration

TheMealDB API

  • Base URL: https://www.themealdb.com/api/json/v1/1/
  • Purpose: Food categories and meal data
  • Rate Limit: Free tier available

Foursquare Places API

  • Purpose: Restaurant location data
  • Authentication: API key required
  • Features: Restaurant search and details

PositionStack API

  • Purpose: Address geocoding
  • Features: Convert addresses to coordinates
  • Rate Limit: 25,000 requests/month (free tier)

🎯 App Flow

graph TD
    A[Splash Screen] --> B[Authentication]
    B --> C[Home Dashboard]
    C --> D[Restaurant Selection]
    D --> E[Menu Browsing]
    E --> F[Add to Cart]
    F --> G[Cart Management]
    G --> H[Checkout]
    H --> I[Order Success]
Loading

πŸ§ͺ Testing

Manual Testing Checklist

  • App launches without crashes
  • Authentication flow works correctly
  • API data loads properly
  • Cart functionality operates smoothly
  • Database persistence works
  • UI responds correctly to user interactions

Test Credentials

Email: abcd@gmail.com
Password: 12341234

Note: Authentication is currently implemented with dummy validation for demo purposes.

πŸš€ Build & Release

Debug Build

./gradlew assembleDebug

Release Build

./gradlew assembleRelease

APK Location

  • Debug: app/build/outputs/apk/debug/app-debug.apk
  • Release: app/build/outputs/apk/release/app-release-unsigned.apk

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Code Style Guidelines

  • Follow Android coding standards
  • Use meaningful variable names
  • Add comments for complex logic
  • Maintain consistent indentation

πŸ“‹ Roadmap

  • πŸ”” Push Notifications - Real-time order updates
  • πŸ—ΊοΈ Real-time Tracking - Live delivery tracking
  • πŸ’³ Payment Gateway - Actual payment processing
  • ⭐ Reviews & Ratings - User feedback system
  • 🌍 Multi-language Support - Localization
  • πŸ” Social Login - Google/Facebook authentication
  • πŸ“± Dark Mode - Theme customization
  • 🎯 Recommendation Engine - AI-powered suggestions

πŸ› Known Issues

  • Authentication is currently dummy implementation
  • Payment processing is simulated
  • Some API endpoints have rate limitations
  • Maps require internet connection

πŸ“„ License

This project is licensed under the MIT License.

πŸ™ Acknowledgments

  • TheMealDB for providing free food data API
  • Material Design for UI/UX guidelines
  • Android Developer Community for continuous support
  • OpenStreetMap for free mapping services

πŸ“Š Project Stats

Stars Forks Watchers

πŸ‘¨β€πŸ’» Author

Piyush Kumar
πŸš€ Android Developer

πŸ“¬ Let's Connect

🌐 Portfolio Β β€’Β  πŸ’» GitHub Β β€’Β  πŸ’Ό LinkedIn Β β€’Β  πŸ“§ Email


Made with ❀️ by Piyush

⭐ Star this repository if you found it helpful!

About

πŸ• Complete Android food delivery app built with Java, MVVM architecture, Room database, and modern UI. Features restaurant browsing, cart management, maps integration, and seamless ordering experience similar to Swiggy/Zomato.

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages