Skip to content

A simple Flutter application using the Provider state management, featuring login/signup functionality using firebase, a dashboard displaying enrolled courses, a course player page, a module list, and bookmarking.

Notifications You must be signed in to change notification settings

AlHasanSony/edtech_app

Repository files navigation


Edtech App Documentation

Table of Contents

  1. Introduction
  2. Folder Structure
  3. Models
  4. Providers
  5. Screens
  6. Services
  7. Utils
  8. Dependencies

1. Introduction

The Edtech App is a mobile application designed to provide educational content to users. It utilizes Flutter for the frontend development and integrates with Firebase services for authentication and data storage.

2. Folder Structure

The project follows a modular and organized folder structure to enhance maintainability and scalability.

  • models: Contains data models representing entities in the application.
  • providers: Manages the state of the application using the Provider package.
  • screens: Defines UI screens of the application.
  • services: Implements business logic and integrates with external services.
  • utils: Holds utility functions and constants.

3. Models

Bookmark

Represents a bookmark entity within the application.

class Bookmark {
  // Properties and methods
}

Course

Represents a course entity within the application.

class Course {
  // Properties and methods
}

Module

Represents a module entity within a course.

class Module {
  // Properties and methods
}

User

Represents a user entity within the application.

class User {
  // Properties and methods
}

4. Providers

AuthProvider

Manages user authentication state.

class AuthProvider {
  // Properties and methods
}

BookmarkProvider

Manages bookmark-related state.

class BookmarkProvider {
  // Properties and methods
}

CourseProvider

Manages course-related state.

class CourseProvider {
  // Properties and methods
}

5. Screens

Auth Screens

  • Login Screen: Handles user login.
  • Signup Screen: Manages user registration.

Dashboard Screens

  • Course Player Screen: Displays course content, modules, and bookmarks.
  • Dashboard Courses Screen: Shows enrolled courses on the dashboard.

Widgets

  • Bookmark List Widget: Displays a list of bookmarks.
  • Dashboard Screen Course Card: Represents a course card on the dashboard.
  • Module List Widget: Renders a list of modules.
  • Video Player Widget: Manages video playback.

6. Services

Authentication Service

Handles user authentication using Firebase Auth.

class AuthenticationService {
  // Methods for authentication
}

Bookmark Service

Manages bookmark-related functionality.

class BookmarkService {
  // Methods for bookmark operations
}

Course Service

Handles course-related logic and integrates with Firebase services.

class CourseService {
  // Methods for course operations
}

7. Utils

Constants

Holds constant values used throughout the application.

class Constants {
  // Constant values
}

Navigation

Defines routes and navigation logic.

class Navigation {
  // Route generation and navigation methods
}

8. Dependencies

  • cloud_firestore: ^4.8.2
  • firebase_auth: ^4.6.3
  • chewie: ^1.7.1
  • provider: ^6.1.1

This documentation provides an overview of the Edtech App's structure and key components. For more detailed information, refer to the individual files and their documentation within the project.

About

A simple Flutter application using the Provider state management, featuring login/signup functionality using firebase, a dashboard displaying enrolled courses, a course player page, a module list, and bookmarking.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published