An open API service indexing awesome lists of open source software.

https://github.com/yuzu02/exerapp


https://github.com/yuzu02/exerapp

Last synced: 2 months ago
JSON representation

Awesome Lists containing this project

README

        

# πŸ“± ExerAPP

ExerAPP is a comprehensive project that encompasses all exercises from an Android course originally designed with Java, but implemented using Flutter. This project aims to provide a hands-on learning experience for Flutter developers by replicating Android exercises in a cross-platform environment.

# πŸ“š The Original Android Course πŸ“š

The original Android course is a beginner-friendly course that covers various topics such as layouts, activities, intents, and more. By re-implementing these exercises in Flutter, developers can compare and contrast the two frameworks, gaining a deeper understanding of Flutter's capabilities.

- [Course Link](https://youtube.com/playlist?list=PLyvsggKtwbLX06iMtXnRGX5lyjiiMaT2y&si=Hz5SNMBdwb2QvUg5)

## πŸ“‘ Table of Contents

- [πŸ“– Introduction](#introduction)
- [✨ Features](#features)
- [⚑ Requirements](#requirements)
- [πŸ› οΈ Installation](#installation)
- [πŸ“± Usage](#usage)
- [πŸ”Œ Plugins Used](#plugins-used)
- [πŸ—ΊοΈ Roadmap](#roadmap)
- [🀝 Contributing](#contributing)
- [πŸ“„ License](#license)

## πŸ“– Introduction

ExerAPP is designed to help developers transition from Android development with Java to Flutter. By re-implementing the exercises from an Android course, developers can compare and contrast the two frameworks, gaining a deeper understanding of Flutter's capabilities.

## ✨ Features

- 🌐 **Cross-Platform**: Runs on both Android and iOS devices
- πŸ“š **Comprehensive Exercises**: Includes all exercises from the Android course
- 🎨 **Modern UI**: Utilizes Flutter's rich set of widgets to create a modern and responsive user interface
- πŸ“Š **State Management**: Demonstrates various state management techniques in Flutter
- πŸ”„ **Navigation**: Implements navigation between different screens using Flutter's built-in navigation system
- πŸ’Ύ **Database**: Stores data locally using SQLite

## ⚑ Requirements

- 🎯 [Flutter](https://flutter.dev/docs/get-started/install)
- πŸ› οΈ [Android Studio](https://developer.android.com/studio) or [VS Code](https://code.visualstudio.com/)
- 🎯 [Dart](https://dart.dev/get-dart)
- πŸ“‚ [Git](https://git-scm.com/)
- β˜• [OpenJDK-19](https://www.oracle.com/java/technologies/javase/jdk19-archive-downloads.html)

## πŸ› οΈ Installation

To get started with ExerAPP, follow these steps:

1. **Clone the repository**:

```bash
git clone https://github.com/Yuzu02/exerapp.git
```

2. **Go to the project directory**:

```bash
cd exerapp
```

3. **Install dependencies**:

```bash
flutter pub get
```

4. **Set up your virtual device**:

- **Android**: Set up an Android emulator or connect a physical device
- **iOS**: Set up an iOS simulator or connect a physical device

5. **Run the app**:

```bash
flutter run
```

## πŸ“± Usage

Once the app is running, you can navigate through the various exercises using the provided UI. Each exercise is designed to mimic its Android counterpart, allowing you to see how Flutter handles similar tasks and functionalities but in a more modern and efficient way.

## πŸ—ΊοΈ Roadmap

- 🌐 **Networking**: Fetches data from a remote server using HTTP requests
- πŸ” **Authentication**: Implements user authentication using Firebase
- βœ… **Testing**: Adds unit and widget tests to ensure the app's reliability
- ✨ **Animations**: Adds animations to enhance the user experience
- 🎨 **Flutter-Launcher-Icons**: Add the app icon for both Android and iOS

## πŸ”Œ Plugins Used

- πŸ’Ύ [sqflite](https://pub.dev/packages/sqflite) - SQLite database
- πŸ“‚ [path_provider](https://pub.dev/packages/path_provider) - File system locations
- 🎨 [font-awesome-flutter](https://pub.dev/packages/font_awesome_flutter) - Icons
- πŸ“Š [provider](https://pub.dev/packages/provider) - State management
- πŸ”’ [permission_handler](https://pub.dev/packages/permission_handler) - Permissions
- πŸ“± [device_info_plus](https://pub.dev/packages/device_info_plus) - Device information
- πŸ“ [dropdown_button2](https://pub.dev/packages/dropdown_button2) - Enhanced dropdowns
- πŸ”— [url_launcher](https://pub.dev/packages/url_launcher) - URL handling
- πŸ“‚ [path](https://pub.dev/packages/path) - Path manipulation
- πŸ’Ύ [shared_preferences](https://pub.dev/packages/shared_preferences) - Key-value storage

## 🀝 Contributing

We welcome contributions to ExerAPP! If you have any improvements or new exercises to add, please follow these steps:

1. πŸ”„ **Fork the repository**

Click the "Fork" button on the top right corner of the repository page.

2. 🌿 **Create a new branch**:

```bash
git checkout -b feature/your-feature-name
```

3. ✏️ **Make your changes**

- Add new exercises
- Improve existing exercises
- Fix bugs or issues
- Add test cases (if applicable or necessary)

4. πŸ“ **Update the documentation**:

- Update the README with any new features or changes
- Add comments to your code for better understanding

5. πŸ§ͺ **Run the tests**:

```bash
flutter test
```

Make sure all tests pass before submitting your changes.

6. πŸ“± **Build the app on Android and iOS**:

```bash
flutter build apk
flutter build ios
```

Make sure the app builds successfully on both platforms.

7. πŸ’Ύ **Commit your changes**:

```bash
git commit -m "Add your commit message"
```

8. ⬆️ **Push to the branch**:

```bash
git push origin feature/your-feature-name
```

9. πŸ”„ **Create a Pull Request**

if ur idea / feature is accepted, it will be merged to the main branch

10. πŸŽ‰ **Congratulations!** πŸŽ‰

## πŸ“„ License

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for more details.

---


Made with ❀️ by Yuzu