Welcome to the Education Flutter Dart project! This project is under construction and aims to provide an educational platform for students. It follows Test-Driven Development (TDD) principles with a Clean Architecture approach.
Before you begin, make sure you have Flutter and Dart installed on your system. If not, you can follow the installation instructions at Flutter Official Website.
The backend for this project is powered by Firebase, providing a secure and scalable solution. Firebase services used include:
- Firebase Authentication (FirebaseAuth): For user authentication and identity management.
- Firebase Cloud Firestore (FirebaseFirestore): A NoSQL database for storing and retrieving data.
- Firebase Cloud Storage (FirebaseStorage): For storing and serving user-uploaded files and assets.
This project relies on various packages to ensure smooth development and functionality. Here's a list of the key packages used:
bloc: ^8.1.2
chewie: ^1.7.1
cupertino_icons: ^1.0.2
dartz: ^0.10.1
equatable: ^2.0.5
flutter_bloc: ^8.1.3
file_picker: ^6.0.0
font_awesome_flutter: ^10.6.0
get_it: ^7.6.4
iconly: ^1.0.1
image_picker: ^1.0.4
intl: ^0.18.1
lottie: ^2.7.0
open_file: ^3.3.2
path_provider: ^2.1.1
provider: ^6.0.5
shared_preferences: ^2.2.2
smooth_page_indicator: ^1.1.0
swipe_to: ^1.0.2
url_launcher: ^6.1.14
youtube_metadata: ^1.0.1
video_thumbnail: ^0.5.3
Development dependencies and testing libraries are also utilized for a robust development process:
flutter_test: sdk: flutter
bloc_test: ^9.1.4
flutter_lints: ^2.0.0
mocktail: ^1.0.1
very_good_analysis: ^5.1.0
The project follows a Clean Architecture approach to maintain a clear separation of concerns. The codebase is organized into different layers, making it easier to understand and maintain.
lib/
: Contains the main source code for the application.presentation/
: Handles the UI and user interaction.domain/
: Contains the core business logic and domain entities.data/
: Deals with data sources, repositories, and external APIs.
test/
: Holds the unit and widget tests for the application.
As this project is still under construction, specific usage instructions will be provided when it is more complete. You can clone the repository and explore the code to get a better understanding of how things work.
Contributions to this project are welcome. If you're interested in contributing, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and ensure that they pass all tests.
- Submit a pull request with a clear description of your changes.
This project is licensed under the MIT License. See the LICENSE file for details.
For any questions or inquiries, feel free to contact us at molinapablod@gmail.com.
Thank you for your interest in the Education Flutter Dart project! We look forward to your contributions and the development of this educational platform.