Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ngodat213/e-course
https://github.com/ngodat213/e-course
course-app course-project fllutter flutter-apps quiz-app quiz-project
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/ngodat213/e-course
- Owner: ngodat213
- Created: 2023-08-25T05:56:20.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-12-23T15:17:47.000Z (about 1 year ago)
- Last Synced: 2024-12-30T11:36:59.006Z (about 2 months ago)
- Topics: course-app, course-project, fllutter, flutter-apps, quiz-app, quiz-project
- Language: Dart
- Homepage:
- Size: 2.6 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# E-Course
E-Course is a mobile application that provides access to your ERPNext desk or any other Frappe desk from your smartphone.
![]()
![]()
## Overview
E-Course is a powerful mobile application that brings the ERPNext desk and Frappe desk experience to your smartphone. With E-Course, you can conveniently manage your courses, participate in quizzes, and access educational content on the go. This application is designed to enhance your learning and course management experience.## Table of Contents
- [Features](#features)
- [Technologies](#technologies)
- [Development](#development)
- [Setup](#setup)
- [Running the Project](#running-the-project)
- [Architecture](#architecture)## Features
1. **User Authentication**: Includes login, signup, and password recovery functionality.
2. **Home Page**: Easily view all courses and search for specific ones.
3. **Course Management**: Access comments, reviews, and watch course videos.
4. **Quizzes**: Participate in quizzes with multiple-choice questions, view your results, and check your answers.
5. **Settings**: Manage your user account settings, choose between multiple languages (Vietnamese and English), mark courses as favorites, learn more about us, get in touch through contact information, and log out.## Technologies
1. **Firebase**: Utilizes Firebase for authentication, storage, realtime database, and Firestore database.
2. **Cloudinary**: Employs Cloudinary for various cloud services.## Development
### Setup
To run this project, ensure you have [Flutter](https://flutter.dev/docs/get-started/install) set up.1. Install the required packages:
```sh
flutter pub get
```
2. Run the Project
```sh
flutter run
```### Architecture
This Project roughly follows MVVM Architecture where each screen has seperate file and each stateful screen is contained in a folder with 2 files
1) View file (layout logic)
2) View Model File (data processing and state management).This Project uses [provider](https://pub.dev/packages/provider) for State Management.
[bloc](https://pub.dev/packages/bloc), [shared_preferences](https://pub.dev/packages/shared_preferences) for storage.
[firebase](https://firebase.google.com/docs?hl=vi) for making network requests.