{"id":21970965,"url":"https://github.com/jarjut/nota","last_synced_at":"2026-04-09T11:47:16.143Z","repository":{"id":43178983,"uuid":"373759643","full_name":"jarjut/nota","owner":"jarjut","description":"Flutter Notes app optimized for mobile and web platforms","archived":false,"fork":false,"pushed_at":"2024-02-19T16:21:38.000Z","size":2483,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-28T02:27:51.647Z","etag":null,"topics":["bloc","clean-architecture","dart","firebase","flutter","gorouter"],"latest_commit_sha":null,"homepage":"https://nota.jarjut.dev","language":"Dart","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/jarjut.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}},"created_at":"2021-06-04T07:35:34.000Z","updated_at":"2024-11-27T00:06:10.000Z","dependencies_parsed_at":"2024-02-19T16:59:18.366Z","dependency_job_id":"2378a563-f261-41ef-a93b-c5224eee062d","html_url":"https://github.com/jarjut/nota","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarjut%2Fnota","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarjut%2Fnota/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarjut%2Fnota/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarjut%2Fnota/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jarjut","download_url":"https://codeload.github.com/jarjut/nota/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245031363,"owners_count":20549913,"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","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":["bloc","clean-architecture","dart","firebase","flutter","gorouter"],"created_at":"2024-11-29T14:44:50.423Z","updated_at":"2025-12-30T23:42:57.763Z","avatar_url":"https://github.com/jarjut.png","language":"Dart","readme":"# ![Nota][nota_icon_asset] Nota - Notes App\n\n## [🌍 Nota Website][nota_website]\n\nThis Flutter project is a simple notes app optimized for mobile and web platforms.\n\nIt uses Firebase Firestore to store notes, providing users with fast and reliable access to their collections. Users can easily create, edit, and delete notes, as well as search for and organize them into categories.\n\nThis app is a great example of modern cross-platform development in action. It was built using Domain-Driven Design (DDD) and Clean Architecture, which allows for maintainable and scalable code.\n\nThe notes UI/UX is inspired by Google Keep, providing users with a familiar and intuitive interface. Overall, this project showcases the power and potential of cross-platform development with Flutter and Firebase Firestore.\n\n---\n\n## Core Dependencies 📦\n\n| Package Name | Pub.dev                             | Documentation                     | Description                               |\n| ------------ | ----------------------------------- | --------------------------------- | ----------------------------------------- |\n| Firebase     | [firebase_core][firebase_pubdev]    | [Flutter Firebase][firebase_docs] | Flutter Firebase Integration              |\n| Flutter Bloc | [flutter_bloc][bloc_library_pubdev] | [Bloc Library][bloc_library_docs] | BloC State Management                     |\n| GoRouter     | [go_router][go_router_pubdev]       | [Go Router Docs][go_router_docs]  | Router Package Maintained by Flutter Team |\n\n---\n\n## Getting Started 🚀\n\nProject Generated by the [Very Good CLI][very_good_cli_link] 🤖\n\nThis project contains 3 flavors:\n\n- development\n- staging\n- production\n\nTo run the desired flavor either use the launch configuration in VSCode/Android Studio or use the following commands:\n\n```sh\n# Development\n$ flutter run --flavor development --target lib/main_development.dart\n\n# Staging\n$ flutter run --flavor staging --target lib/main_staging.dart\n\n# Production\n$ flutter run --flavor production --target lib/main_production.dart\n```\n---\n\n## Running Tests 🧪\n\nTo run all unit and widget tests use the following command:\n\n```sh\n$ flutter test --coverage --test-randomize-ordering-seed random\n```\n\nTo view the generated coverage report you can use [lcov](https://github.com/linux-test-project/lcov).\n\n```sh\n# Generate Coverage Report\n$ genhtml coverage/lcov.info -o coverage/\n\n# Open Coverage Report\n$ open coverage/index.html\n```\n\n---\n\n## Working with Translations 🌐\n\nThis project relies on [flutter_localizations][flutter_localizations_link] and follows the [official internationalization guide for Flutter][internationalization_link].\n\n### Adding Strings\n\n1. To add a new localizable string, open the `app_en.arb` file at `lib/presentation/l10n/arb/app_en.arb`.\n\n```arb\n{\n    \"@@locale\": \"en\",\n    \"counterAppBarTitle\": \"Counter\",\n    \"@counterAppBarTitle\": {\n        \"description\": \"Text shown in the AppBar of the Counter Page\"\n    }\n}\n```\n\n2. Then add a new key/value and description\n\n```arb\n{\n    \"@@locale\": \"en\",\n    \"counterAppBarTitle\": \"Counter\",\n    \"@counterAppBarTitle\": {\n        \"description\": \"Text shown in the AppBar of the Counter Page\"\n    },\n    \"helloWorld\": \"Hello World\",\n    \"@helloWorld\": {\n        \"description\": \"Hello World Text\"\n    }\n}\n```\n\n3. Use the new string\n\n```dart\nimport 'package:test/l10n/l10n.dart';\n\n@override\nWidget build(BuildContext context) {\n  final l10n = context.l10n;\n  return Text(l10n.helloWorld);\n}\n```\n\n### Adding Supported Locales\n\nUpdate the `CFBundleLocalizations` array in the `Info.plist` at `ios/Runner/Info.plist` to include the new locale.\n\n```xml\n    ...\n\n    \u003ckey\u003eCFBundleLocalizations\u003c/key\u003e\n\t\u003carray\u003e\n\t\t\u003cstring\u003een\u003c/string\u003e\n\t\t\u003cstring\u003ees\u003c/string\u003e\n\t\u003c/array\u003e\n\n    ...\n```\n\n### Adding Translations\n\n1. For each supported locale, add a new ARB file in `lib/l10n/arb`.\n\n```\n├── l10n\n│   ├── arb\n│   │   ├── app_en.arb\n│   │   └── app_es.arb\n```\n\n2. Add the translated strings to each `.arb` file:\n\n`app_en.arb`\n\n```arb\n{\n    \"@@locale\": \"en\",\n    \"counterAppBarTitle\": \"Counter\",\n    \"@counterAppBarTitle\": {\n        \"description\": \"Text shown in the AppBar of the Counter Page\"\n    }\n}\n```\n\n`app_es.arb`\n\n```arb\n{\n    \"@@locale\": \"es\",\n    \"counterAppBarTitle\": \"Contador\",\n    \"@counterAppBarTitle\": {\n        \"description\": \"Texto mostrado en la AppBar de la página del contador\"\n    }\n}\n```\n\n\n\u003c!-- Links --\u003e\n\n[nota_website]: https://nota.jarjut.dev/ \"nota.jarjut.dev\"\n[nota_icon_asset]: assets/icons/nota-icon-32x32.png \"Nota\"\n\n[go_router_pubdev]: https://pub.dev/packages/go_router\n[go_router_docs]: https://pub.dev/documentation/go_router/latest/topics/Get%20started-topic.html\n\n[bloc_library_pubdev]: https://pub.dev/packages/flutter_bloc\n[bloc_library_docs]: https://bloclibrary.dev/#/gettingstarted\n\n[firebase_pubdev]: https://pub.dev/packages/firebase_core\n[firebase_docs]: https://firebase.google.com/docs/flutter/setup#available-plugins\n\n[flutter_localizations_link]: https://api.flutter.dev/flutter/flutter_localizations/flutter_localizations-library.html\n[internationalization_link]: https://flutter.dev/docs/development/accessibility-and-localization/internationalization\n\n[very_good_cli_link]: https://github.com/VeryGoodOpenSource/very_good_cli","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjarjut%2Fnota","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjarjut%2Fnota","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjarjut%2Fnota/lists"}