Skip to content

Commit

Permalink
chore: update README and CONTRIBUTING
Browse files Browse the repository at this point in the history
  • Loading branch information
sadespresso committed Feb 29, 2024
1 parent c2cde3b commit b8d80d9
Show file tree
Hide file tree
Showing 2 changed files with 70 additions and 28 deletions.
40 changes: 37 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -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
58 changes: 33 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 <https://docs.flutter.dev/platform-integration>

## Testing
### Running

If you plan to run tests on your machine, ensure you've installed ObjectBox
dynamic libraries. See more on <https://docs.objectbox.io/getting-started#add-objectbox-to-your-project>
`flutter run`

Updates script[^2]:
See more on <https://flutter.dev/>

### 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
<https://docs.objectbox.io/getting-started#add-objectbox-to-your-project>
(make sure to choose Flutter to see the script).

0 comments on commit b8d80d9

Please sign in to comment.