{"id":18160827,"url":"https://github.com/blankeos/flutter-practice","last_synced_at":"2025-09-09T19:24:37.627Z","repository":{"id":108680604,"uuid":"600285723","full_name":"Blankeos/flutter-practice","owner":"Blankeos","description":"🐔 A monorepo for Flutter projects for practice","archived":false,"fork":false,"pushed_at":"2025-07-09T16:28:12.000Z","size":17423,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-22T15:53:21.411Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Blankeos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-02-11T02:41:02.000Z","updated_at":"2025-07-09T16:28:17.000Z","dependencies_parsed_at":null,"dependency_job_id":"98849179-0d9c-45ce-a3e7-a0719b6756d6","html_url":"https://github.com/Blankeos/flutter-practice","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Blankeos/flutter-practice","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Blankeos%2Fflutter-practice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Blankeos%2Fflutter-practice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Blankeos%2Fflutter-practice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Blankeos%2Fflutter-practice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Blankeos","download_url":"https://codeload.github.com/Blankeos/flutter-practice/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Blankeos%2Fflutter-practice/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274348637,"owners_count":25268972,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-09T02:00:10.223Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-02T08:09:27.099Z","updated_at":"2025-09-09T19:24:37.615Z","avatar_url":"https://github.com/Blankeos.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🐣 Flutter-Practice\n\n🐔 A monorepo of Flutter projects for practice from a bunch of tutorials I've watched.\n\nI completely believe in \"Learn-by-doing\" so the more projects I try to copy, the better experience I get. (Obviously with a sprinkle of effort).\n\n### ✨ Apps made so far:\n\n\u003e Click on the folder for each app to see a demo gif of each.\n\n1. **Salon Booking** - teaches about Stacks and a lot of positioning, sizing, stuff. `MediaQuery.of(context).size.x` was pretty useful.\n2. **Calculator App** - Made this on my own, used a math parser library, created the UI from scratch, and figured out how to structure and organize folders in a Flutter project for faster development like I do with React (for styles especially).\n3. **WhatsApp UI** - teaches about ListTiles, Tabs, TabViews, and a bunch of cool premade Material stuff.\n4. **Pokedex** - teaches about fetching from APIs using `http` and learned Grids.\n5. **Rinf Basic** - just some experiments with the [`rinf`](https://rinf.cunarist.com/) (Rust in Flutter) library.\n6. **FRB Basic** - experiments with flutter_rust_bridge, I prefer this over rinf. Much2x simpler. Looks like a basic rust function besides the macros. For Rinf, there are specific get_dart_signal stuff or whatever that require you to understand rinf knowledge. So I prefer frb.\n\nOther Flutter apps I made not on this repo:\n\n- flutter-firebase (NetNinja)\n- travel_onboarding\n\n### Notes\n\n- Install using [`fvm`](https://fvm.app/) - Like fnm or nvm, but for Flutter.\n- `fvm global \u003cversion\u003e` to install a specific version globally, so no need to prefix `fvm` everytime.\n- `flutter doctor` to check installation. Install the rest if missing. Usually has instructions.\n- `flutter pub get` to install packages. Like `bun install`\n- `flutter run` to run the app. It runs `flutter pub get` as well. This will usually show me a list of platforms.\n- `flutter run -d \u003cplatform\u003e` to run on a specific platform, where `\u003cplatform\u003e` could be `chrome`, `macos`, `ios`, `android` etc. For example: `flutter run -d chrome` to run on web.\n- `flutter create --platforms=macos .` - to add a platform to an existing flutter project.\n- `flutter create ---empty` - to create an empty flutter project. (usually use VSCode for this, but I don't use VSCode anymore, so I use this a lot).\n- `flutter create \u003cappname\u003e` to create a new flutter project with the package name `\u003cappname\u003e`.\n- `flutter build` to build the app into an apk, ipa, or executable. Optionally you can pass a specific platform to build for.\n- `flutter devices` lists devices (macOS, chrome, your iphone, even wireless ones).\n\nIf you want hot reload (like it presses `r` automatically for you).\n\n- `dashmon` - Install this via `flutter pub global activate dashmon` and replace essentially flutter run with dashmon\n\nIf you want to run on an iOS simulator.\n\n- **Configure Xcode Command Line Tools**:\n  - Open Xcode and navigate to `Xcode` \u003e `Settings` (or `Preferences` on older versions) \u003e `Locations`.\n  - Ensure `Command Line Tools` is set to your installed Xcode version (e.g., `Xcode 16.0`).\n- **Launch a Simulator**:\n  - In Xcode, go to `Xcode` \u003e `Open Developer Tool` \u003e `Simulator`.\n  - To manage or add new simulators, navigate to `Window` \u003e `Devices and Simulators` (`Shift + Command + 2`) and press the `+` button.\n- **Run Your App**:\n  - Once a simulator is running, execute the following command in your terminal: `flutter run -d \u003cdevice-id\u003e`.\n  - (You can find available device IDs by running `flutter devices`).\n\nIf you want to run on your iPhone\n\n- **Connect Your Device**: Connect your iPhone to your Mac using a USB cable.\n- **Open Xcode Project**: In your Flutter project directory, open the iOS workspace by running `open ios/Runner.xcworkspace`.\n- **Select Your Device**: In Xcode, select your connected iPhone from the target dropdown menu (usually at the top-center of the window).\n- **Trust Your Mac**: On your iPhone, confirm to \"Trust This Computer\" when prompted.\n- **Enable Developer Mode**: On your iPhone, go to `Settings` \u003e `Privacy \u0026 Security` and enable `Developer Mode`. You may need to restart your device.\n- **Configure Signing \u0026 Capabilities**:\n  - In Xcode, select the `Runner` project in the left sidebar, then navigate to the `Signing \u0026 Capabilities` tab.\n  - Add a `Team` (e.g., your personal iCloud account or an organizational account).\n  - Optionally, verify your device setup in `Window` \u003e `Devices and Simulators` (`Shift + Command + 2`).\n- **Perform Initial Run via Xcode**:\n  - Run the app directly from Xcode for the first time by clicking the `Run` button (triangle icon). You may be prompted to enter your Mac's password.\n- **Subsequent Runs**: After the first successful run from Xcode, you can use `flutter run` from your terminal for all subsequent runs.\n- **Troubleshoot \"Untrusted Developer\"**:\n  - If you encounter an \"Untrusted Developer\" message on your iPhone, go to `Settings` \u003e `General` \u003e `VPN \u0026 Device Management`.\n  - Under the \"Developer App\" section, tap on your developer app entry and then tap \"Trust [Your Developer Name]\".\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblankeos%2Fflutter-practice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblankeos%2Fflutter-practice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblankeos%2Fflutter-practice/lists"}