
Flutter Projects and Their Pillars
This page showcases mobile applications developed as part of my Flutter learning journey. Each project highlights essential pillars of Flutter development, including state management, data handling, and native platform integration.
Overview
- Platform: iOS and Android (cross-platform)
- Technologies: Flutter, Dart, Firebase, SQLite, REST APIs
- Development Context: Built during structured learning and hands-on practice
Applications Developed
1. FlutterChat App
FlutterChat is a real-time messaging application that allows users to register using their email, name, and profile photo. After signing up, users are added to a shared chatroom where they can exchange messages instantly with all other participants. The app offers a smooth user experience with intuitive transitions and real-time updates.
Key Concepts Applied
- User authentication and registration using
firebase_auth
- Form validation and error handling with
FirebaseAuthException
andScaffoldMessenger
- Real-time database updates using
StreamBuilder
andcloud_firestore
- Storage of user profile images via
firebase_storage
and image selection withimage_picker
- Push notifications with Firebase Messaging
- Visual feedback during network events using loading indicators and UI transitions

2. Favorite Places App
Favorite Places is a mobile application that allows users to save and revisit meaningful locations. Each saved place includes a name, photo, and precise location data. Users can either select their current GPS position or tap directly on the map to set a custom location. The app also retrieves the complete address (street, city, state, country) using geolocation services. All data is stored locally on the device, ensuring offline access to saved locations.
Key Concepts Applied
- Local data persistence using
sqflite
- State management with
flutter_riverpod
- Map rendering and interaction using
flutter_map
andlatlong2
- Address resolution via reverse geocoding with
geocoding
- User-selected location via map tapping or GPS detection
- Image input and storage for visual reference of locations

3. Grocery List App
Grocery List is a cloud-synced application that enables users to manage their grocery items in a clean, minimalist interface. Users can quickly add products, assign them to predefined categories, and remove them with intuitive swipe gestures. All data is stored and retrieved through Firebase Realtime Database via RESTful HTTP requests, allowing persistent access and cross-device syncing.
Key Concepts Applied
- Cloud data persistence using
Firebase Realtime Database
via REST API - HTTP request handling, including status code verification and JSON serialization
- Interactive UI with swipe-to-delete functionality
- Dynamic list building and filtering by predefined categories
- Minimalist UX with focus on fast, accessible input

4. Recipes Explorer App
Recipes Explorer is a recipe browsing application that organizes meals into well-defined categories. Users can navigate through categories, view detailed recipes, and save their favorites for quick access. A side navigation menu provides advanced filtering options based on dietary preferences, such as gluten-free, lactose-free, vegetarian, or vegan. The app emphasizes intuitive navigation and visual transitions to enhance the user experience.
Key Concepts Applied
- State management across filters, favorites, and UI controls using
flutter_riverpod
- Category-based recipe organization with nested navigation via
Navigator
- Use of key UI widgets:
Drawer
for side menu,InkWell
for interaction,Stack
for layout composition - Smooth image transitions and animations using
FadeInImage
andHero
- User feedback provided via
SnackBar
notifications - Session-based favorites (no persistent storage)

Final Considerations
Beyond what is described above, it is important to note that several additional widgets, techniques, and design patterns were used throughout these applications. Other apps were also developed beyond the ones listed here. However, this portfolio offers a solid overview of the core concepts and pillars of mobile development with Flutter.
I have chosen not to share the source code for these projects out of respect for the original course authorship.
Although the implementations reflect my understanding and improvements, they were based on guided educational
material.
The only exception is the location app, where I intentionally
deviated from the suggested Google Maps API to use flutter_map
as a more cost-effective and open-source
alternative.
For original and exclusive projects, feel free to explore the "About" section or consult the official app stores linked on this site.