A modern, fast, and beautiful mobile application built with Flutter that allows users to capture, store, and manage their favorite locations. The app features a stunning Glassmorphism UI, real-time location tracking, and utilizing Mapbox for maps.
- 📍 Track Locations: Automatically detect your current location or select a custom position on the map using Mapbox.
- 📸 Capture Memories: Take photos of your favorite spots using the device camera.
- 💾 Local Storage: Persist your places locally using SQLite, ensuring your data is safe even when offline.
- 🗺️ Interactive Maps: View your saved places and their exact locations on an interactive map.
- 📱 Responsive Layout: Fully responsive design that works seamlessly on both Android and iOS.
- Framework: Flutter (Dart)
- State Management: flutter_riverpod
- Maps: mapbox_maps_flutter
- Location: location & geolocator
- Database: sqflite (SQLite)
- Camera: image_picker
- Fonts: google_fonts
- Environment: flutter_dotenv
- Flutter SDK installed (Version 3.8.0 or higher recommended)
- Android Studio / Xcode for emulators
- A Mapbox Access Token
-
Clone the repository
git clone https://github.com/Mohamedismaell/Favorite_Places_App.git cd Favorite_Places_App -
Install dependencies
flutter pub get
-
Configure Mapbox
- Get your Public Access Token from Mapbox.
- Create a
.envfile in the root directory:MAPBOX_ACCESS_TOKEN=pk.eyJ1I...<your_token_here> - Note: Ensure your Android/iOS configurations for Mapbox (permissions, manifest/plist) are set up.
-
Run the App
flutter run
lib/
├── model/ # Data models (Place, PlaceLocation)
├── provider/ # Riverpod providers (UserPlaces)
├── screen/ # App screens (Places List, Add Place, Details, Map)
├── widget/ # Reusable widgets (GlassContainer, ImageInput, etc.)
└── main.dart # Entry point and Theme setup
Developed with ❤️ using Flutter.