Skip to content

fourhadd/language-learning-app

Repository files navigation

📱 Language Learning - Flutter Architecture & Refactor Project

Built with Flutter • Clean Architecture • BLoC • Scalable Design

A professional transformation of a legacy codebase into a modern, high-performance Flutter application. This project demonstrates strong knowledge of Clean Architecture, SOLID principles, and scalable mobile development.


🚀 The Mission: From Chaos to Clarity

This project was initially provided with an unstructured and poorly organized codebase. The main goal was to refactor, restructure, and rebuild the application using modern Flutter development practices.


✅ Key Achievements

  • Complete refactor of legacy codebase
  • Implemented feature-based Clean Architecture
  • Applied SOLID principles for maintainability
  • Improved code readability and structure
  • Updated and optimized dependencies

✨ Key Features

  • 🔐 User Authentication (Login & Register)
  • 💾 Persistent user data with SharedPreferences
  • 🌍 Multi-language support (EN, AZ, TR, RU)
  • ⭐ Favorites system with local storage
  • 📱 Responsive UI using flutter_screenutil

🏗️ Architecture Overview

The project follows a Feature-based Clean Architecture, separating UI, business logic, and data layers.

lib/
├── app/                # Entry point & global providers
├── core/               # Constants, themes, shared utilities
├── data/               # Models and data layer
└── features/           # Feature-based modules
    ├── auth/           # Authentication
    ├── dashboard/      # Main screen
    ├── favorites/      # Saved items
    ├── language/       # Localization
    ├── lessons/        # Lesson system
    └── profile/        # User profile

⚙️ State Management

The application uses BLoC / Cubit:

  • Separation of UI and business logic
  • Predictable and scalable state flow
  • Improved performance and maintainability

🛠 Technologies Used

  • Flutter
  • Dart
  • BLoC / Cubit
  • SharedPreferences
  • flutter_screenutil
  • Google Fonts

📈 Improvements Made

  • Refactored messy and unstructured codebase
  • Separated concerns (UI, logic, data)
  • Improved performance and rebuild efficiency
  • Standardized naming and structure
  • Made the app scalable for future features

📌 Future Roadmap

  • API Integration (REST / GraphQL)
  • Backend integration (Firebase / Supabase)
  • Unit & Widget Testing
  • Advanced progress tracking
  • Dark mode support

👨‍💻 Developer

Fərhad Kərimov (fourhadd)


⭐ Final Note

This project demonstrates the ability to analyze an existing codebase, refactor it, and rebuild it using scalable architecture and clean coding principles. It reflects real-world development skills, including problem-solving, system design, and code optimization.

About

A modern Language Learning UI built with Flutter. Features include user authentication, course search filtering, favorite systems using BLoC/Cubit, and responsive dashboard design.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors