Thanks to visit codestin.com
Credit goes to github.com

Skip to content

althetinkerer/Kanab.Club-Flutter-App

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

65 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Figma Design


✨ Badges

Flutter Dart License: MIT Platform State Management: Bloc Architecture: Clean


⚠️ Project Status: In Development

This project is still under active development.
Features, structure, and dependencies may change frequently until a stable release is published.
Contributions and feedback are always welcome!


πŸ“± Social Mate

Social Mate is a cutting-edge, high-performance social networking platform engineered with Flutter πŸš€. It represents a sophisticated mobile solution designed to provide users with a fluid, engaging, and secure environment for social interaction.

Built upon the robust foundations of Clean Architecture πŸ—οΈ and the BLoC pattern 🧩, the application ensures exceptional maintainability and scalability. By leveraging Supabase ☁️ as its backend infrastructure, Social Mate delivers real-time data synchronization and secure authentication, all wrapped in a visually stunning, responsive interface that adapts perfectly to any device size via ScreenUtil πŸ“±.

Whether it's sharing moments through rich media, navigating a dynamic social feed, or enjoying the seamless onboarding experience, every aspect of Social Mate is optimized for peak performance and visual excellence. ✨


πŸ“‘ Table of Contents


🎯 Key Features

πŸ” Authentication & Security

  • Secure Sign Up & Sign In - Robust authentication flow using Email/Password πŸ“§.
  • Social Login Support - UI integration for Google and Microsoft authentication 🌐.
  • Supabase Integration - Backend authentication powered by Supabase ⚑.
  • Form Validation - Real-time validation for user inputs with localized feedback βœ….

🏠 Social Interaction

  • Dynamic Home Feed - Scroll through posts and updates πŸ“°.
  • Stories System - Interactive story viewing experience with immersive transitions πŸ“±.
  • Post Creation - "What's on your mind?" widget with multi-media support πŸ“Έ.
  • Media Gallery Integration - Seamless browsing and selection of local media πŸ–ΌοΈ.
  • Bottom Navigation - Quick access to key modules like Home, Add, and Groups 🧭.

🎨 User Experience & Design

  • Modern & Premium UI - A polished, high-fidelity design focused on user engagement πŸ’Ž.
  • Responsive Layout - Adapts perfectly to various screen sizes and densities πŸ“±.
  • Efficient Media Loading - Optimized image caching and shimmering effects for a fluid experience ✨.
  • Interactive Toast Notifications - Sleek, non-intrusive feedback for app actions πŸ””.

πŸ—οΈ Architecture & Best Practices

  • Clean Architecture - Organized folder structure (Data, Domain, Presentation) πŸ“‚.
  • BLoC Pattern - Predictable state management using flutter_bloc and cubit πŸ”„.
  • Dependency Injection - Scalable service locator using get_it and injectable πŸ’‰.
  • Routing - Declarative navigation with go_router πŸ›£οΈ.
  • Localization - Full multi-language support setup 🌍.

πŸ—οΈ Project Architecture

This project follows Clean Architecture principles to ensure a highly scalable, maintainable, and testable codebase. The separation of concerns is strictly maintained across three primary layers:

1. πŸ“‚ Presentation Layer

  • Widgets & Pages: Pure UI components built with Flutter.
  • BLoC / Cubit: Handles state management and interacts with Domain usecases.
  • Routing: Managed via go_router for declarative navigation.

2. 🧠 Domain Layer (Pure Dart)

  • Entities: Simple Dart classes representing the core data models.
  • Use Cases: Contains specific business logic and coordinates data flow.
  • Repositories (Interfaces): Defines contracts for data operations, ensuring the domain layer is independent of external dependencies.

3. πŸ’Ύ Data Layer

  • Repositories (Implementations): Implements the contracts defined in the Domain layer.
  • Data Sources: Handles direct communication with local storage or remote APIs (e.g., Supabase).
  • Models: DTOs (Data Transfer Objects) that handle JSON serialization/deserialization.

🧩 Folder Structure

lib/
β”œβ”€β”€ core/                  # Shared utilities, themes, DI, and routes
β”œβ”€β”€ features/              # Modular features (e.g., auth, home)
β”‚   └── [feature_name]/
β”‚       β”œβ”€β”€ data/          # Repositories & Data Sources
β”‚       β”œβ”€β”€ domain/        # Entities & Use Cases
β”‚       └── presentation/  # UI (Pages & Widgets) & State Management
β”œβ”€β”€ global/                # App-wide BLoCs and Global State
└── main.dart              # Entry point

🎨 UI Kit / Design System

The application follows a consistent and modern design language to ensure a premium feel across all screens.

🎨 Color Palette

  • Primary: #007AFF πŸ”΅ - Used for main actions, active states, and branding.
  • Secondary: #0779B8 πŸ”Ή - Used for accents and secondary elements.
  • Surface: #FFFFFF βšͺ - Clean white background for a minimalist look.
  • Error: #FF1E1E πŸ”΄ - Clear visibility for error states and destructive actions.

✍️ Typography

  • Body & Headings: Utilizing the default Material Design typography scale, optimized for readability.
  • Responsive Scaling: All text sizes are dynamically scaled using flutter_screenutil to ensure consistency across various device densities.

πŸ–ΌοΈ Iconography

  • SVG Icons: Custom managed high-quality SVGs via flutter_gen for sharp visuals at any size.
  • Cupertino Icons: Standard iOS-style icons for a familiar and native mobile experience.

πŸš€ Getting Started

To run this app locally:

git clone https://github.com/AmrSalahDev/Social-Mate-Flutter-App.git
cd Social-Mate-Flutter-App
flutter pub get
flutter run

βœ… Prerequisites

  • 🐦 Flutter SDK 3.9.0 or higher
  • 🎯 Dart 3.9.0 or higher
  • 🏒 Android Studio / Xcode (for iOS development)
  • πŸ“± Android/iOS device or emulator

πŸ“‹ Steps

  1. πŸ“₯ Clone the repository
  2. πŸ“š Install dependencies: flutter pub get
  3. βš™οΈ Generate code: flutter pub run build_runner build --delete-conflicting-outputs
  4. πŸ” Setup Environment: Create a .env file with your SUPABASE_URL and SUPABASE_ANON_KEY.
  5. ▢️ Run the app: flutter run

πŸ“¦ Dependencies Used

Below is a list of key packages used in this Flutter project:

πŸ—οΈ Architecture & State Management

  • flutter_bloc: ^9.1.1 - State management library 🧩.
  • bloc: ^9.2.0 - Core business logic component βš™οΈ.
  • bloc_concurrency: ^0.3.0 - Concurrency transformers for Bloc events ⚑.
  • get_it: ^9.2.0 - Service locator for dependency injection πŸ’‰.
  • injectable: ^2.7.1+4 - Code generation for GetIt πŸ—οΈ.
  • go_router: ^17.0.1 - Declarative routing package πŸ›£οΈ.

☁️ Backend & Data

  • supabase_flutter: ^2.12.0 - Supabase client for Auth and Database ⚑.
  • flutter_dotenv: ^6.0.0 - Load environment variables from .env πŸ”.
  • equatable: ^2.0.5 - Simplify object equality comparisons βš–οΈ.
  • photo_manager: ^3.8.3 - Handling local media assets with ease πŸ“Έ.

🎨 UI & Assets

  • flutter_screenutil: ^5.9.3 - Screen adaptation tool πŸ“±.
  • flutter_svg: ^2.2.3 - SVG rendering support πŸ–ΌοΈ.
  • toastification: ^3.0.3 - Customizable toast notifications πŸ””.
  • cached_network_image: ^3.4.1 - Caching and displaying network images efficiently πŸ–ΌοΈ.
  • shimmer: ^3.0.0 - Shimmer loading effects for a premium feel ✨.
  • story_view: ^0.16.6 - Full-featured story viewing experience πŸ“±.
  • dotted_border: ^3.1.0 - Easily create dashed or dotted borders πŸ”³.
  • readmore: ^3.0.0 - Expandable/collapsible long text segments πŸ“–.
  • smooth_page_indicator: ^2.0.1 - Page indicators for onboarding πŸ“‘.
  • cupertino_icons: ^1.0.8 - iOS style icons 🍎.

πŸ› οΈ Utilities & Dev Tools

  • talker_bloc_logger: ^5.1.10 - Logging tool for Bloc state changes πŸ“.
  • my_flutter_toolkit - Custom utility package 🧰.
  • get_time_ago: ^2.3.2 - Human-readable time formatting ⏳.
  • number_display: ^3.0.0 - High-performance number formatting for UI πŸ”’.
  • flutter_localization: ^0.3.3 - Advanced localization support 🌍.
  • build_runner: ^2.10.5 - Build system for code generation πŸ—οΈ.
  • flutter_gen_runner: ^5.12.0 - Asset generator πŸ“‚.

πŸ“Έ Screenshots


🎨 Figma Design

✨ Check out the app UI design in Figma:

Figma Design

πŸ“Œ Click the image to view the live Figma prototype.


πŸ› οΈ Contributions

🀝 Feel free to fork the repo, open issues, or submit PRs to improve the app!

πŸ“ To Contribute:

  1. 🍴 Fork the repository
  2. 🌿 Create your feature branch (git checkout -b feature/AmazingFeature)
  3. πŸ’Ύ Commit your changes (git commit -m 'Add some AmazingFeature')
  4. πŸ“€ Push to the branch (git push origin feature/AmazingFeature)
  5. πŸ”€ Open a Pull Request

⭐ Star History

If you like this project, please give it a star ⭐

Star History Chart

πŸ“œ License

βš–οΈ This project is licensed under the MIT License - see the LICENSE file for details.


πŸ“§ Support & Contact

πŸ’¬ For questions or support, feel free to open an issue on GitHub or contact the development team.

Built with ❀️ using Flutter

About

πŸš€ A modern, high-performance social networking app built with Flutter, Supabase, and Clean Architecture. ✨

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Dart 86.1%
  • C++ 6.8%
  • CMake 5.1%
  • HTML 0.8%
  • Swift 0.8%
  • C 0.4%