Skip to content

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.

Notifications You must be signed in to change notification settings

pablin202/education_app_flutter

Repository files navigation

Education Flutter Dart Project

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.

style: very good analysis

Getting Started

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.

Backend

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.

Project Dependencies

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

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

Project Structure

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.

Usage

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.

Contributing

Contributions to this project are welcome. If you're interested in contributing, please follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Make your changes and ensure that they pass all tests.
  4. Submit a pull request with a clear description of your changes.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contact

For any questions or inquiries, feel free to contact us at [email protected].

Thank you for your interest in the Education Flutter Dart project! We look forward to your contributions and the development of this educational platform.

About

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.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published