Skip to content

🎯 Console applications built while mastering Dart fundamentals for Flutter development. Features banking system, employee management, async programming, and widget patterns. Ready to transition to mobile app development!

Notifications You must be signed in to change notification settings

fanyicharllson/dart-flutter-prep

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Dart Learning Projects 🎯

A collection of console applications built while learning Dart programming language in preparation for Flutter development.

πŸ“š Projects Overview

1. Banking Management System (banking_system.dart)

A comprehensive console-based banking application demonstrating:

  • Account creation and management
  • Deposit, withdrawal, and transfer operations
  • Transaction history tracking
  • Async/await operations
  • Error handling

Key Concepts Practiced:

  • Classes and Objects
  • Named Parameters
  • Async Programming
  • Collections (Lists, Maps)
  • Enums
  • Error Handling

2. Employee Management System (employee_system.dart)

A complete HR management console application featuring:

  • Employee registration and authentication
  • Profile management
  • Payroll calculations
  • Leave request system
  • Admin dashboard

Key Concepts Practiced:

  • Object-Oriented Programming
  • State Management
  • Business Logic Separation
  • Data Persistence (in-memory)
  • User Interface Design (console)

3. Basic Dart Concepts (learn_01.dart)

Fundamental Dart programming concepts including:

  • Variables and data types
  • Null safety
  • Collections and loops
  • Functions and classes
  • String interpolation

Key Concepts Practiced:

  • Basic syntax
  • Type system
  • Collections manipulation
  • Function definitions
  • Class constructors

4. Asynchronous Programming (learn_02_async.dart)

Advanced async concepts for Flutter preparation:

  • Future and async/await
  • Error handling with try-catch
  • Stream controllers
  • Parallel operations
  • API simulation patterns

5. Flutter-Ready Patterns (learn_03_flutter_patterns.dart)

Widget-like patterns and Flutter development preparation:

  • Widget-style classes
  • Builder patterns
  • State management concepts
  • Callback functions
  • Generic types

🎯 Learning Objectives

This repository demonstrates my understanding of:

  • Dart Language Fundamentals: Syntax, types, null safety
  • Object-Oriented Programming: Classes, inheritance, encapsulation
  • Asynchronous Programming: Futures, async/await, error handling
  • Design Patterns: Builder pattern, service layer architecture
  • Code Organization: Separation of concerns, clean architecture
  • Real-world Applications: Banking and HR systems

πŸš€ How to Run

Make sure you have Dart SDK installed:

# Check Dart installation
dart --version

# Run any project
dart run banking_system.dart
dart run employee_system.dart
dart run learn_01.dart

πŸ”§ Features Implemented

Banking System

  • βœ… Account creation with validation
  • βœ… Secure login system
  • βœ… Real-time balance management
  • βœ… Money transfer between accounts
  • βœ… Transaction history
  • βœ… Admin dashboard

Employee System

  • βœ… Employee registration
  • βœ… Profile management
  • βœ… Payroll calculation with tax
  • βœ… Leave management system
  • βœ… Authentication
  • βœ… Admin reporting

πŸ“ˆ Next Steps

  • Flutter Development: Apply these Dart concepts to mobile app development
  • Database Integration: Replace in-memory storage with real databases
  • API Development: Build REST APIs for these systems
  • Testing: Add unit and integration tests
  • UI/UX: Convert console apps to Flutter mobile apps

πŸŽ“ Learning Path

  1. Dart Fundamentals βœ…
  2. Object-Oriented Programming βœ…
  3. Asynchronous Programming βœ…
  4. Design Patterns βœ…
  5. Console Applications βœ…
  6. Flutter Development ⏳ (Next)

πŸ’‘ Key Takeaways

  • Null Safety: Critical for preventing runtime errors
  • Named Parameters: Essential for Flutter widget construction
  • Async/Await: Fundamental for API calls and user interactions
  • Clean Architecture: Separation of UI, business logic, and data layers
  • Error Handling: Robust error management for user experience

πŸ”— Connect With Me


Built with ❀️ while learning Dart & preparing for Flutter development

About

🎯 Console applications built while mastering Dart fundamentals for Flutter development. Features banking system, employee management, async programming, and widget patterns. Ready to transition to mobile app development!

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published