DSCKabarak / ComradeMarketPlace

A community project, that is an e-commerce website.
11 stars 14 forks source link

Flutter set up #72

Closed wekesa360 closed 6 months ago

wekesa360 commented 6 months ago

Title: Set up Flutter project structure and initial configuration

Description: This pull request sets up the initial structure and configuration for the Comrade Marketplace Flutter project. The key changes include:

  1. Project Structure:

    • Created the following directories:
      • lib/: Contains the main application code
      • assets/: Stores images, fonts, and other assets
      • test/: Houses unit and widget tests
    • Organized the lib/ directory into the following subdirectories:
      • providers/: Holds the provider classes (e.g., AuthProvider, ConnectionProvider)
      • screens/: Contains the main screens/pages of the app
      • widgets/: Stores custom widgets used throughout the app
      • models/: Contain model classes
      • utils/: Will have utility classes and functions
      • services/: will contain code that handles app services
      • theme.dart: Defines the app's theme and styles
      • constants.dart: Stores global constants (e.g., colors, font sizes)
  2. Initial Dependencies:

    • Added the following dependencies to pubspec.yaml:
      • cupertino_icons: ^1.0.2
      • flutter_screenutil: ^5.9.0
      • http: ^1.1.0
      • internet_connection_checker_plus: ^2.2.0
      • provider: ^6.1.2
      • shared_preferences: ^2.2.3
  3. Initial Theme and Constants:

    • Implemented the appTheme() function in theme.dart to define the app's theme, including colors, typography, and app bar styles.
    • Defined the global constants (e.g., primaryColor, textColor) in constants.dart.
  4. Initial Screens and Providers:

    • Created the HomePage widget as the app's initial sample screen.
    • Implemented the AuthProvider and ConnectionProvider classes in the providers/ directory.
  5. Project Setup:

    • Configured the main.dart file to set up the MultiProvider and render the MyApp widget.
    • Initialized the ScreenUtil class in the appTheme() function to ensure responsive layout and typography.

This lays the groundwork for the Comrade Marketplace Flutter project, providing a solid foundation for future development. The project structure, initial dependencies, and theme configuration are set up to support the app's requirements and enable scalable and maintainable development.