README
Celo Compose Flutter
A comprehensive starter kit for rapid Web3 application development using Flutter.
View Demo·Report Bug·Request Feature
Table of Contents
About The Project
Project DEMO GIF HERE
Why Celo Composer Flutter?
- One command to get started - Type
flutter run
to start development in your mobile phone. - Works with all major mobile crypto wallets.
- Support for Android, IOS (Web, Windows, and Linux coming soon).
- Working example app - The included example app shows how this all works together.
- Easy to use and alwasy updated with latest dependencies.
Directory Structure
├──
.vscode
— VSCode settings including code snippets, recommended extensions etc.
├──
android
— Contains all the Android specific code.
├──
ios
— Contains all the IOS specific code.
├──
lib
— Core modules, controllers, UI Code, constants, etc.
├──
.gitignore
— A gitignore file specifies intentionally untracked files that Git should ignore.
├──
pubspec.yaml
— A pubspec is generated when you create a new Flutter project.
Built With
- Flutter
- Provider
- url_launcher
- walletconnect_dart
- walletconnect_secure_storage
- QR Flutter
- Easy Localization
Getting Started
Clone the project
from this repo, install project dependencies, update the
environment variables found in core/*.env
, and start hacking:
$ git clone https://github.com/viral-sangani/walletconnect_flutter
$ cd ./walletconnect_flutter
$ flutter pub get
$ flutter run
The app will start in the conenct device of connected emulator/simulator.
Roadmap
- Add Android support
- Add IOS support
- Add Web support
- Add Desktop support
- Linux
- Mac
- Windows
See the open issues for a full list of proposed features (and known issues).
Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
License
Distributed under the MIT License. See LICENSE.txt
for more information.
Acknowledgments
Use this space to list resources you find helpful and would like to give credit to. I've included a few of my favorites to kick things off!
Translations 🌐
This project should rely on easy_localization. This approach is recommended even if there's only a locale needed.
- To add a new localizable string, open the en-US.json file at assets/lang/en-US.json.
{
"new_string": "New String"
}
- Use the new string
import 'package:easy_localization/easy_localization.dart';
@override
Widget build(BuildContext context) {
return Text("new_string".tr());
}
Adding Supported Locales
Update the CFBundleLocalizations array in the Info.plist at ios/Runner/Info.plist to include the new locale.
...
<key>CFBundleLocalizations</key>
<array>
<string>en</string>
<string>es</string>
</array>
...
Adding Translations
- For each supported locale, add a new JSON file in assets/lang.
├── assets
│ ├── lang
│ │ ├── en-US.json
│ │ └── fr-FR.json
- Add the translated strings to each .json file: app_en.json
{
"new_string": "New String",
}