These instructions will help you set up your project locally.
Ensure you have Flutter installed on your machine. You can download it from the official Flutter website.
-
Clone the repository:
git clone https://github.com/your-username/your-repository.git cd your-repository
-
Install dependencies:
flutter pub get
-
Run the app:
flutter run
A brief overview of your project's structure:
The project is organized into the following directories:
- core: Contains core functionalities such as data handling, local storage, networking, routing, theming, translations, and reusable widgets.
- modules: Includes the main modules of the application.
- auth: Module for authentication-related screens and logic.
- home: Module for the home screen and related logic.
- splash_screen: Module for the splash screen.
- data: Contains data bindings for the splash screen.
- logic: Contains the logic for the splash screen, including the animated splash screen package and the splash screen controller.
- view: Contains the splash screen page.
- utils: Utility helpers for various functionalities.
- awesome_notifications_helper.dart: Helper for handling notifications using the awesome_notifications package.
- fcm_helper.dart: Helper for handling Firebase Cloud Messaging (FCM).
lib/
├── core/
│ ├── data/
│ ├── local/
│ ├── network/
│ ├── routes/
│ ├── theme/
│ ├── translations/
│ └── widgets/
├── modules/
│ ├── auth/
│ ├── home/
│ └── splash_screen/
│ ├── data/
│ ├── logic/
│ └── view/
│ └── widgets
| └── widget.dart
│ └── splash_screen_page.dart
├── utils/
│ ├── awesome_notifications_helper.dart
│ └── fcm_helper.dart
├── main.dart
└── my_custom_widget.dart
- data: Handles data operations and API calls.
- local: Manages local storage and caching.
- network: Handles network operations and API integrations.
- routes: Manages application routing and navigation.
- theme: Contains theme data for the application.
- translations: Manages localization and translations.
- widgets: Contains reusable widgets used across the application.
- auth: Handles user authentication and related screens.
- home: Manages the home screen and related logic.
- splash_screen:Manages the splash screen
- awesome_notifications_helper.dart: Utility helper for handling notifications using the awesome_notifications package.
- fcm_helper.dart: Utility helper for handling Firebase Cloud Messaging (FCM).
This project includes the following tasks:
-
Setup Project Structure:
- Organize the project into core, modules, and utils directories.
- Create necessary subdirectories and files.
-
Implement Splash Screen:
- Create splash screen page, controller, and bindings.
- Add animations for the splash screen.
- make it Dynamic as Backend Can Change it as business need
-
Authentication Module:
- Implement authentication logic and screens.
-
Home Screen Module:
- Create Part of home screen
![Demo Video](https://github.com/Fathi123-max/Aone_Task/raw/master/tasks/app_screeb_shoot.png?raw=true)