HighVibe.Network is a blockchain-based ecosystem designed to incentivize personal growth.
- State: development
- Point People: @7flash
- CI :
All stories and bugs are tracked in [GITHUB][]. Development occurs on branches that are tested with the test
.The PR is reviewed and then merged into the develop
branch.
To get started, see Contributing
- Flutter: 1.19.0-4.3.pre (The latest checked version by @minikin on Flutter Beta channel)
- Dart: 2.8.4+
- Xcode: 11.5.0+
- Androind Studio 4.0.0+
- Ruby: 2.6.0+
- CocoaPods: 1.8.4+
- Flutter & Dart plugins:
git clone https://github.com/HighVibe/hvn.git && \
cd hvn && \
flutter packages get && \
flutter pub run build_runner build --delete-conflicting-outputs && \
flutter run
You can use Codecov automatically as long as the repository's owner is a paid Codecov member (assuming this is a private repo).
-
To view dependencies, view the pubspec.yaml.
-
This project use built_value, built_collection and built_test packages which add value types (imitable values) to Dart. Make sure you use these package for model definitions, object serialization/deserialization, and any other appropriate use cases.
Learn more about built_value and value types.
Why built_value ?
- Built value generates a huge amount of code for free
- Built values are value types(immutable values) and not reference types 1, 2, 3 . Consequently, it's faster.
- JSON object serialization and deserialization (generated for free)
- HashCode properties (generated for free)
- Objects equality (generated for free)
- toString methods (generated for free)
- Getter memoization (generated for free)
- EnumClass
- Dramatically improves testability
- Tooling - VSCode extension, IntelliJ plugin
- Has companion pub built_collection for collections
- And more
Last but not least, built_value widely used in products like Google AdWords.
built_value
for Immutable Object Modelsbuilt_value
for Serialization- Building a Chat App in Dart
- End to End Testing in One Short Second with Dart
- Moving Fast with Dart Immutable Values
- Flutter JSON Serialization
- Flutter TODO App Example
using
built_value
, built_redux, and flutter_built_redux - Building a (large) Flutter app with Redux
- Some Options for Deserializing JSON with Flutter
When adding a dependency is necessary it should be managed using pub.
Both branches develop
and master
are protected and should only be modified by filing a pull request. develop
represents the latest accepted changes and master
should represent the latest shippable source.
Development should take place on a development branch cut from the existing develop
branch. Before merging all development branches should be rebased off of develop
. Please do not merge develop
upstream.
Development branches should follow the convention: {bugfix | feature}/{developer initials}-{JIRA_ID or GITHUB_ID}
Release branches should be tagged and cut from master
as: release-0.0.0
.
All non-trivial code should be tested. Contributors are encouraged to use TDD or BDD where applicable.
All development branches must pass CI before merging.
Save yourself some trouble and run flutter test test/all.dart
before filing a pull request.
The following defines the version and build number for your application. A version number is three numbers separated by dots, like 1.2.43 followed by an optional build number separated by a +. Both the version and the builder number may be overridden in flutter build by specifying --build-name and --build-number, respectively.
In Android, build-name is used as versionName while build-number used as versionCode. Read more about Android versioning at https://developer.android.com/studio/publish/versioning
In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. Read more about iOS versioning at https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
flutter pub run flutter_launcher_icons:main