{"id":25688693,"url":"https://github.com/reclast/fluttermysqlconnect","last_synced_at":"2026-05-06T14:41:26.919Z","repository":{"id":273449855,"uuid":"919732008","full_name":"RecLast/FlutterMysqlConnect","owner":"RecLast","description":"Mysql connection and controls for Flutter.","archived":false,"fork":false,"pushed_at":"2025-02-23T13:31:53.000Z","size":1676,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-23T14:30:04.634Z","etag":null,"topics":["flutter","flutter-app","flutter-apps","mysql","mysql-database","mysql-server"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RecLast.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-20T22:51:12.000Z","updated_at":"2025-02-23T13:31:57.000Z","dependencies_parsed_at":"2025-01-23T20:01:37.552Z","dependency_job_id":null,"html_url":"https://github.com/RecLast/FlutterMysqlConnect","commit_stats":null,"previous_names":["reclast/fluttermysqlconnect"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RecLast%2FFlutterMysqlConnect","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RecLast%2FFlutterMysqlConnect/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RecLast%2FFlutterMysqlConnect/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RecLast%2FFlutterMysqlConnect/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RecLast","download_url":"https://codeload.github.com/RecLast/FlutterMysqlConnect/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240557498,"owners_count":19820359,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["flutter","flutter-app","flutter-apps","mysql","mysql-database","mysql-server"],"created_at":"2025-02-24T21:05:22.185Z","updated_at":"2026-05-06T14:41:26.871Z","avatar_url":"https://github.com/RecLast.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Flutter MySQL Connect\n\nA secure authentication application using Flutter with MySQL database\nconnection.\n\n![Flutter MySQL Connect](./assets/images/fluttermysql.jpg)\n\n## 📑 Contents\n\n-   [Features](#features)\n-   [Setup](#setup)\n-   [Database Configuration](#database-configuration)\n-   [Authentication Structure](#authentication-structure)\n-   [Theme Structure](#theme-structure)\n-   [Language Management](#language-management)\n-   [Error Handling](#error-handling)\n-   [Security](#security)\n-   [Architecture](#architecture)\n-   [Folder Structure](#folder-structure)\n\n## ✨Features\n\n-   🔐 Secure MySQL connection\n-   🔐 Encryption MYSQL Information\n-   🔐 Authentication (Login/Register)\n-   🔐 NetworkControl/DatabaseControl/Login Control (Splash Screen)\n-   🔒 Password encryption with BCrypt\n-   🌍 TR/EN language support\n-   🎨 Customizable theme\n-   📱 Responsive design\n-   ⚡ Performance optimization\n\n## ⚙️Setup\n\n### Requirements\n\n    • Flutter SDK (\u003e=3.2.3)\n    • MySQL Server\n    • MySQL Workbench (recommended)\n\n### Steps\n\n1.  Clone the project:\n\n        git clone https://github.com/RecLast/FlutterMysqlConnect.git\n\n2.  Install dependencies:\n\n        flutter pub get\n\n## 💾Database Configuration\n\n### 1. Create Database\n\n    CREATE DATABASE flutter_mysql_connect;\n\n### 2. Table Structure\n\n    CREATE TABLE users (\n        id INT PRIMARY KEY AUTO_INCREMENT,\n        username VARCHAR(50) UNIQUE NOT NULL,\n        email VARCHAR(100) UNIQUE NOT NULL,\n        password VARCHAR(255) NOT NULL,\n        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP\n    );\n\n### 3. Secure Connection Configuration\n\nTo configure MySQL connection information securely:\n\n1.  Edit `lib/core/utils/config_generator.dart` file:\n\n        final config = {\n            'host': 'localhost',\n            'port': '3306',\n            'user': 'your_username',\n            'password': 'your_password',\n            'db': 'your_database'\n        };\n\n2.  Run the config generator:\n\n        dart run lib/core/utils/config_generator.dart\n\n3.  Generated encrypted config file: `assets/config/db_config.enc`\n\n::: info\n**🔐 Security:** Connection information is protected with XOR encryption\nand SHA-256.\n:::\n\n## 🔑Authentication Structure\n\nThe authentication system is configured under `features/auth` with MVVM\narchitecture:\n\n    features/auth/\n    ├── model/\n    │   └── user_model.dart          # User data model\n    ├── view/\n    │   ├── sign_view.dart           # Login/Register screen\n    │   └── splash_view.dart         # Splash screen\n    └── viewmodel/\n        └── auth_view_model.dart     # Authentication business logic\n\n### Authentication Flow\n\n1.  Session check in splash screen\n2.  Login/Register form validation\n3.  Password hashing with BCrypt\n4.  JWT token management\n\n## 🎨Theme Structure\n\nTheme management is centrally configured under `core/theme`:\n\n    core/theme/\n    ├── app_colors.dart      # Color palettes\n    ├── app_text_styles.dart # Typography styles\n    └── app_theme.dart       # Theme configuration\n\n::: info\n**💡 Customization:** All colors and styles can be managed from a single\npoint.\n:::\n\n### Theme Usage\n\n    // Color usage\n    color: AppColors.darkBlue['primary']\n\n    // Text style usage\n    style: AppTextStyles.ubuntuBold.copyWith(\n        fontSize: 24,\n        color: Colors.white,\n    )\n\n## 🌍Language Management\n\nMulti-language support is configured under `core/init/lang`:\n\n    core/init/lang/\n    ├── locale_keys.dart    # Language keys\n    ├── locale_manager.dart # Language manager\n    └── translations/       # Language files\n        ├── tr.json\n        └── en.json\n\n### Language Usage\n\n    // Change language\n    LocaleManager.instance.setLocale(const Locale('en', 'US'));\n\n    // Text translation\n    Text(LocaleKeys.welcome.tr())\n\n## ⚠️Error Handling\n\nCentral error management is configured under `core/base`:\n\n    core/base/\n    ├── error/\n    │   ├── base_error.dart      # Base error class\n    │   ├── network_error.dart   # Network errors\n    │   └── database_error.dart  # Database errors\n    └── result/\n        └── result_model.dart    # Result model\n\n### Error Handling Usage\n\n    try {\n      await operation();\n    } on NetworkError catch (e) {\n      showErrorDialog(e.message);\n    } on DatabaseError catch (e) {\n      logError(e);\n      showErrorSnackbar(e.message);\n    }\n\n::: warning\n**🔍 Error Tracking:** All errors are centrally logged and appropriate\nmessages are shown to the user.\n:::\n\n## 🔒Security\n\n### Encryption\n\n-   Secure password hashing with BCrypt\n-   Sensitive data encryption with AES-256\n-   Secure connection with SSL/TLS\n\n### SQL Injection Protection\n\n    // Unsafe Usage ❌\n    \"SELECT * FROM users WHERE username = '$username'\"\n\n    // Safe Usage ✅\n    \"SELECT * FROM users WHERE username = ?\"\n\n## 🏗️ Architecture\n\nThe project is developed using MVVM (Model-View-ViewModel) architecture:\n\n-   **Model:** Data structures and database operations\n-   **View:** UI components\n-   **ViewModel:** Business logic and state management\n\n## 📁Folder Structure\n\n    lib/\n    ├── core/\n    │   ├── init/\n    │   │   ├── database/      # MySQL connection management\n    │   │   ├── encryption/    # Encryption services\n    │   │   └── lang/         # Language management\n    │   ├── services/         # General services\n    │   ├── theme/           # Theme configuration\n    │   └── utils/           # Helper utilities\n    └── features/\n        ├── auth/            # Authentication\n        │   ├── model/\n        │   ├── view/\n        │   └── viewmodel/\n        └── home/            # Home page\n            ├── model/\n            ├── view/\n            └── viewmodel/\n\n::: info\n**💡 Tip:** Visit our [Wiki\npage](https://github.com/RecLast/FlutterMysqlConnect/wiki) for detailed\ncode examples and API documentation.\n:::\n\n## 📞 Contact\n\nFor questions and suggestions: \u003ciletisim@umiteski.com.tr\u003e\n\n© 2025 Flutter MySQL Connect. Developed by [Ümit\nEski](www.umiteski.com.tr). Licensed under MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freclast%2Ffluttermysqlconnect","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freclast%2Ffluttermysqlconnect","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freclast%2Ffluttermysqlconnect/lists"}