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
- π 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
- π± 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
- ποΈ 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
| Category | Technology |
|---|---|
| Language | |
| Architecture | |
| Database | |
| Networking | |
| UI Components | |
| Image Loading | |
| Animations | |
| Maps |
- Android Studio Arctic Fox or later
- JDK 11 or higher
- Android SDK with minimum API level 24
- Git for version control
-
Clone the repository
git clone https://github.com/mr-piyushkr/Foodify-Android-App.git cd Foodify-Android-App -
Open in Android Studio
- Launch Android Studio
- Select "Open an existing project"
- Navigate to the cloned directory
-
Sync dependencies
./gradlew build
-
Run the application
- Connect an Android device or start an emulator
- Click the "Run" button in Android Studio
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";The app uses Room database which is automatically configured. No additional setup required.
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
- Base URL:
https://www.themealdb.com/api/json/v1/1/ - Purpose: Food categories and meal data
- Rate Limit: Free tier available
- Purpose: Restaurant location data
- Authentication: API key required
- Features: Restaurant search and details
- Purpose: Address geocoding
- Features: Convert addresses to coordinates
- Rate Limit: 25,000 requests/month (free tier)
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]
- 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
Email: abcd@gmail.com
Password: 12341234
Note: Authentication is currently implemented with dummy validation for demo purposes.
./gradlew assembleDebug./gradlew assembleRelease- Debug:
app/build/outputs/apk/debug/app-debug.apk - Release:
app/build/outputs/apk/release/app-release-unsigned.apk
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Follow Android coding standards
- Use meaningful variable names
- Add comments for complex logic
- Maintain consistent indentation
- π 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
- Authentication is currently dummy implementation
- Payment processing is simulated
- Some API endpoints have rate limitations
- Maps require internet connection
This project is licensed under the MIT License.
- TheMealDB for providing free food data API
- Material Design for UI/UX guidelines
- Android Developer Community for continuous support
- OpenStreetMap for free mapping services
Piyush Kumar
π Android Developer
π Portfolio Β β’Β π» GitHub Β β’Β πΌ LinkedIn Β β’Β π§ Email
Made with β€οΈ by Piyush
β Star this repository if you found it helpful!



