diff --git a/README.md b/README.md index a05c7fc..6230d6f 100644 --- a/README.md +++ b/README.md @@ -1,41 +1,129 @@ -# magic_epaper_app +# Magic ePaper Badge +--- -A new Flutter project. +**Create and Transfer Customized Content to Tri-Color ePaper Badges via NFC** -## Table of Contents -- [Getting Started](#getting-started) -- [Assets](#assets) -- [Localization](#localization) -- [Installation Steps](#installation-steps) - - [Prerequisites](#prerequisites) - - [Clone the Repository](#clone-the-repository) - - [Install Dependencies](#install-dependencies) -- [Running the Project](#running-the-project) +## Features in Development +- **Content Creation**: Design badges with text, drawings, emojis, and imported images +- **Customization Options**: Apply effects (none, semi-transparent, block, portrait) +- **Text Formatting**: Choose fonts, sizes, and styles +- **Image Manipulation**: Adjust contrast, colors, and rotation +- **NFC Transfer**: Send your creations wirelessly to the badge +- **Battery-Free Operation**: Works with the badge's energy harvesting capabilities -## Getting Started +## Setup Instructions -This project is a starting point for a Flutter application that follows the -[simple app state management -tutorial](https://flutter.dev/to/state-management-sample). +### Prerequisites + +- [Flutter SDK](https://flutter.dev/docs/get-started/install) (latest stable version) +- [Android Studio](https://developer.android.com/studio) or [VS Code](https://code.visualstudio.com/) with Flutter extensions +- For iOS development: Mac with [Xcode](https://developer.apple.com/xcode/) installed +- An Android or iOS device, or emulator/simulator + +### Development Setup + +1. Clone the repository + ``` + git clone https://github.com/fossasia/magic-epaper-app.git + ``` + +2. Navigate to the project directory + ``` + cd magic-epaper-app + ``` + +3. Get dependencies + ``` + flutter pub get + ``` + +4. Check your Flutter environment + ``` + flutter doctor + ``` + +### Running the App + +#### Android + +1. Connect Android device or start an emulator + ``` + # To list available emulators + flutter emulators + + # To launch an emulator + flutter emulators --launch + ``` + +2. Run the app + ``` + flutter run + ``` + +3. Build APK + ``` + flutter build apk + ``` + +#### iOS + +1. Connect iOS device or start a simulator + ``` + # To start iOS simulator + open -a Simulator + ``` + +2. Run the app + ``` + flutter run + ``` + +3. Build for iOS + ``` + flutter build ios + ``` + Note: To deploy to an iOS device, you'll need an Apple Developer account and proper certificates. + +## Permissions + +* **NFC**: For transferring content to the badge + +## Branch Policy + +This project employs the following branch policy for development and app builds: + +* **`main`**: All contributions should be submitted as Pull Requests (PRs) to the `main` branch. PRs targeting `main` must pass all Continuous Integration/Continuous Delivery (CI/CD) build checks. + +* **`app`**: This branch exclusively contains automatically generated application builds upon the merging of a Pull Request to `main`. This includes builds for: + * Android (APKs) + * iOS + * Desktop (platform-specific executables) + * Other relevant build artifacts. + +## Contributions Best Practices -For help getting started with Flutter development, view the -[online documentation](https://docs.flutter.dev), which offers tutorials, -samples, guidance on mobile development, and a full API reference. +Please take a moment to read FOSSASIA's [Best Practices](https://blog.fossasia.org/open-source-developer-guide-and-best-practices-at-fossasia/) before you start contributing. Following these guidelines helps everyone! -## Assets +To make the review process smooth and ensure good code, let's keep these simple points in mind: -The `assets` directory houses images, fonts, and any other files you want to -include with your application. +* **One Commit Per PR:** Each Pull Request (PR) should focus on a single change or feature. +* **Consistent Design:** Make sure your changes follow the same look and feel as the rest of the app. +* **Squash Your Commits:** Before your PR can be merged, if you have multiple small commits, please combine them into one. You (the author) need to do this, not the project maintainers. +* **Show Your Work (Frontend):** If your PR changes how the app looks, please include screenshots in the PR description. +* **Explore the App First:** Before you start coding, set up the project on your computer, run it, and try out all the features. Click all the buttons and see what happens! This helps you understand the app. +* **Claim Your Work:** If you want to work on a specific issue, leave a comment on it. If someone is already assigned but hasn't shown any activity, feel free to comment and start working on it. -The `assets/images` directory contains [resolution-aware -images](https://flutter.dev/to/resolution-aware-images). +## Troubleshooting -## Localization +* **Flutter Version Issues**: If you encounter compatibility issues, make sure you're using the Flutter version specified in the `pubspec.yaml` file. +* **NFC Not Working**: Ensure your device has NFC capabilities and they are enabled in your device settings. +* **Build Errors**: Clear your build directory and run `flutter clean` followed by `flutter pub get`. -This project generates localized messages based on arb files found in -the `lib/src/localization` directory. +## LICENSE +The application is licensed under the [Apache License 2.0](https://github.com/fossasia/magic-epaper-app/blob/main/LICENSE.md). Copyright is owned by FOSSASIA and its contributors. +======= To support additional languages, please visit the tutorial on [Internationalizing Flutter apps](https://flutter.dev/to/internationalization).