A modern food ordering and delivery app built with Flutter.
Foody Licious provides a seamless experience to browse restaurants, explore dishes, place orders, and manage profiles — all powered by a clean architecture and test-driven development.
- 🔐 Authentication – Sign up, login, logout using Firebase Auth
- 👤 User Profile – Update name, phone, and profile details
- 🍴 Browse Restaurants & Dishes – Explore menus with images, prices, and details
- 🛒 Cart & Orders – Add items to cart, checkout, and track your orders
- 🔔 Push Notifications – Get order updates and special offers
- 🌐 Remote & Local Storage – REST API + local caching with SharedPreferences
- 📊 State Management – BLoC pattern for scalable architecture
- 🧪 Unit Testing – Ensuring reliability with test coverage
- Framework: Flutter
- Language: Dart
- State Management: BLoC
- Backend: Firebase + REST API (Flask)
- Database: MongoDB
- Storage: SharedPreferences
- CI/CD: GitHub Actions (Android builds)
lib/
│── core/ # Error handling, utilities, constants
│── data/ # Data sources, repositories, models
│ ├── data_sources/
│ ├── models/
│ └── repositories/
│── domain/ # Entities, repository contracts, use cases
│── presentation/ # UI (widgets, screens), BLoC
│── main.dart # App entry point
test/ # Unit & widget tests- Flutter SDK 3.29.3
- Dart ≥ 3.7.2
- Android Studio / VS Code
- Firebase Project setup
# Clone the repo
git clone https://github.com/your-username/foody_licious.git
cd foody_licious
# Install dependencies
flutter pub get
# Run the app
flutter run# Run all tests
flutter test
# Run with coverage
flutter test --coverageThe app uses dotenv for environment configuration. Create a .env file in the project root:
BASE_URL = "http://your-api-url"
SERVER_CLIENT_ID = "your_api_key"Contributions are welcome! 🎉
- Fork the repo
- Create your feature branch (git checkout -b feature/amazing-feature)
- Commit changes (git commit -m 'Add amazing feature')
- Push to branch (git push origin feature/amazing-feature)
- Open a Pull Request
This project is licensed under the MIT License.