Available to Work
My Happy SVG

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 and ScaffoldMessenger
  • Real-time database updates using StreamBuilder and cloud_firestore
  • Storage of user profile images via firebase_storage and image selection with image_picker
  • Push notifications with Firebase Messaging
  • Visual feedback during network events using loading indicators and UI transitions
Recipes Explorer App Screenshot

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 and latlong2
  • 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
Recipes Explorer App Screenshot

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
Recipes Explorer App Screenshot

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 and Hero
  • User feedback provided via SnackBar notifications
  • Session-based favorites (no persistent storage)
Recipes Explorer App Screenshot

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.

× Fullscreen image