Skip to content

arifaizin/restaurante

Repository files navigation

🍽️ Restaurante - Your Personal Dining Companion

Flutter Dart License: MIT

Restaurante is a premium, high-performance mobile application built with Flutter that allows users to discover, search, and manage their favorite restaurants. Designed with a sleek, modern UI and robust background services, it provides a seamless dining discovery experience.


🚀 Key Features

  • 🔍 Smart Search: Real-time restaurant discovery with debouncing and intelligent error handling.
  • ❤️ Favorites System: Save your preferred restaurants locally for quick access, even when offline.
  • 📅 Daily Recommendations: Native background tasks that notify you of a random restaurant suggestion every morning.
  • 🌘 Dynamic Themes: Support for both Light and Dark modes with persistent settings using Shared Preferences.
  • 💬 Community Reviews: Read detailed feedback from other diners and submit your own reviews directly from the app.
  • 📦 Offline Capability: Robust handling of network availability with user-friendly guidance.
  • ✨ Animated Experience: Rich UI featuring Lottie animations and custom splash screens for a premium feel.

🛠️ Technology Stack

Category Technology
Framework Flutter
State Management Provider
Local Database Sqflite
Networking http
Background Tasks Workmanager & Android Alarm Manager
Notifications Flutter Local Notifications
Storage Shared Preferences & Path Provider
Animations Lottie & Animated Text Kit

🏗️ Architecture & Structure

The project follows a modular and clean architecture to ensure maintainability and testability:

lib/
├── common/        # Shared constants, styles, and themes
├── data/          # Local and remote data sources
├── model/         # Data models and DTOs
├── providers/     # Business logic and state management
├── screens/       # UI Pages (Main, Detail, Search, Favorites, Settings)
├── services/      # External API and System services
├── utils/         # Helper classes and extensions
└── widgets/       # Reusable UI components

🧪 Testing Excellence

Quality is a priority. The codebase includes a comprehensive test suite:

  • Unit Tests: Validating ApiService and various Provider logic.
  • Widget Tests: Ensuring UI components and error states (like SearchScreen) behave correctly.
  • Integration Tests: End-to-end testing of critical user journeys.

To run the tests:

flutter test

📦 Installation & Setup

  1. Clone the repository

    git clone https://github.com/arifaizin/restaurante.git
  2. Install dependencies

    flutter pub get
  3. Run the application

    flutter run

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.


👨‍💻 Author

Developed with ❤️ by Arif Aizin. Connect with me on LinkedIn or check out my Portfolio.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors