From b8d80d944673f1fb08d051f7a7c8ecc796808a51 Mon Sep 17 00:00:00 2001 From: Batmend Ganbaatar Date: Thu, 29 Feb 2024 20:42:23 +0800 Subject: [PATCH] chore: update README and CONTRIBUTING --- CONTRIBUTING.md | 40 +++++++++++++++++++++++++++++++--- README.md | 58 ++++++++++++++++++++++++++++--------------------- 2 files changed, 70 insertions(+), 28 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9cf1291..8f90754 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,40 @@ # Contributing to flow +Thank you for stopping by here! There are many ways to make Flow better for +everyone. Here are few: + +* [Reporting a bug](https://github.com/flow-mn/flow/issues/new/choose) +* [Proposing a feature](https://github.com/flow-mn/flow/issues/new?assignees=&labels=&projects=&template=feature_request.yaml&title=%5BFEAT%5D+) +* Submitting [fixes, feature implementations](#developing) +* [Translating Flow](#translating) to your own language +* [Tipping the maintainer](https://ko-fi.com/sadespresso). Flow is a +free and open-source software, and will stay this way. Please understand +that by giving tip, you will NOT unlock any new or additional features. +As of now, publishing fees have been paid by the maintainer. + +## Developing + 1. Fork the repository -2. Pick an issue -3. Make a feature branch -4. Submit a PR to `main` branch +2. Pick an issue. If the fix/feature you're gonna work doesn't have an issue, +please create one first. +3. Let everyone know that you're working on it by commenting "I'm working on it" +4. Create a feature branch. For example, if you're working on [#82](https://github.com/flow-mn/flow/issues/82), +create a branch `fix82` from `main` +5. Make changes on the new branch +6. Ensure your code doesn't have any linter warnings, errors +(Your editor will tell you, or you can run `flutter analyze`) +7. Submit a PR to `main` branch + +## Translating + +When translating Flow to your language, the translation coverage must be 100%. +You can follow the same steps in [Developing](#developing), and you can safely +skip lints and tests (step 6 and 7). + +It's highly recommended to copy [en_US.json](./assets/l10n/en_US.json) or +any other existing translations on work on top of it. + +## License + +By contributing, you agree that your contributions will be licensed under +GNU GENERAL PUBLIC LICENSE v3 diff --git a/README.md b/README.md index 4ef2013..0ee5e8e 100644 --- a/README.md +++ b/README.md @@ -30,46 +30,54 @@ Flow is a free, open-source, cross-platform personal finance tracking app. Flow is currently in development, and is planned to release beta builds in early March. -## Run +You can try alpha builds right now from the badges at the top of the page. +JSON backups are guaranteed to be supported by the stable release. -Setup: +## Supported platforms -```sh -flutter pub get -flutter pub upgrade -dart pub run build_runner build -``` +* Android +* iOS +* and more[^1] -Run: +## Development -```sh -flutter run -``` +Please read [Contribuition guide](./CONTRIBUTING.md) before contributing. -## Stack +### Prerequisites -* [ObjectBox](https://objectbox.io/) for database +* [Flutter](https://flutter.dev/) (stable) -## Supported platforms +Other: -* Android -* iOS -* Linux* -* macOS* -* Windows* +* JDK 17 if you're gonna build for Android +* [XCode](https://developer.apple.com/xcode/) if you're gonna build for iOS/macOS +* To run tests on your machine, see [Testing](#testing) -\* UI support for desktop is not planned +Building for Windows, Linux-based requires the same dependencies as Flutter. +Read more on -## Testing +### Running -If you plan to run tests on your machine, ensure you've installed ObjectBox -dynamic libraries. See more on +`flutter run` -Updates script[^2]: +See more on + +### Testing + +Generally, tests will be run by GitHub actions. But if you plan to run tests on +your machine, ensure you've installed ObjectBox dynamic libraries. + +Install ObjectBox dynamic libraries[^2]: `bash <(curl -s https://raw.githubusercontent.com/objectbox/objectbox-dart/main/install.sh)` +Testing: + +`flutter test` + [^1]: Will be available on macOS, Windows, and Linux-based systems, but no plan to enhance the UI for desktop experience for now. -[^2]: Please double-check from the official website, may be outdated +[^2]: Please double-check from the official website, may be outdated. Visit + +(make sure to choose Flutter to see the script).