{"id":13533812,"url":"https://github.com/davidnwaneri/simple_notes_app","last_synced_at":"2025-05-06T05:32:00.421Z","repository":{"id":155238441,"uuid":"627971663","full_name":"davidnwaneri/simple_notes_app","owner":"davidnwaneri","description":"A productivity mobile application to create notes","archived":false,"fork":false,"pushed_at":"2023-06-07T14:48:52.000Z","size":677,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-09T09:02:55.215Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/davidnwaneri.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-04-14T15:53:58.000Z","updated_at":"2024-08-07T09:52:02.000Z","dependencies_parsed_at":"2024-01-14T02:33:12.269Z","dependency_job_id":"f5fe430c-b5c1-4598-a099-e357c3174fc9","html_url":"https://github.com/davidnwaneri/simple_notes_app","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/davidnwaneri%2Fsimple_notes_app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidnwaneri%2Fsimple_notes_app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidnwaneri%2Fsimple_notes_app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidnwaneri%2Fsimple_notes_app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/davidnwaneri","download_url":"https://codeload.github.com/davidnwaneri/simple_notes_app/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252629161,"owners_count":21779157,"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":[],"created_at":"2024-08-01T07:01:23.332Z","updated_at":"2025-05-06T05:31:59.169Z","avatar_url":"https://github.com/davidnwaneri.png","language":"Dart","readme":"# SimpleNotes\n\nSimpleNotes is a Flutter project that provides a simple note-taking application with authentication and data\nsynchronization features using [Appwrite](https://appwrite.io/). The app is designed to allow users to create and store\nnotes in a secure and organized manner.\n\nhttps://github.com/davidnwaneri/simple_notes_app/assets/48889672/3bb37c7d-1f9e-4c5e-a659-7411cc62d1cf\n\n\n\n\n\n## Dependencies\n\nThe following dependencies were used in the development of this project:\n\n- [`appwrite`](https://pub.dev/packages/appwrite): a Flutter SDK for the Appwrite server.\n- [`equatable`](https://pub.dev/packages/equatable): a utility library for implementing equality without needing to\n  explicitly override == and hashCode methods.\n- [`flex_color_scheme`](https://pub.dev/packages/flex_color_scheme): a Flutter package that provides customizable color\n  schemes for Flutter apps.\n- `flutter`: the core Flutter SDK.\n- [`flutter_bloc`](https://pub.dev/packages/flutter_bloc): a Flutter package that implements the BLoC (Business Logic\n  Component) pattern to manage state in Flutter apps.\n- [`formz`](https://pub.dev/packages/formz): a Flutter package that simplifies form validation and management.\n- [`fpdart`](https://pub.dev/packages/fpdart): a collection of functional programming utilities for Dart.\n- [`freezed_annotation`](https://pub.dev/packages/freezed_annotation): a package that generates immutable classes for\n  Dart with the freezed library.\n- [`go_router`](https://pub.dev/packages/go_router): a declarative and flexible router for Flutter apps.\n- [`hydrated_bloc`](https://pub.dev/packages/hydrated_bloc): a Flutter package that adds support for state persistence\n  to flutter_bloc.\n- [`json_annotation`](https://pub.dev/packages/json_annotation): a package that generates JSON serialization and\n  deserialization code for Dart classes.\n- [`lottie`](https://pub.dev/packages/lottie): a Flutter package that provides support for Lottie animations.\n- [`path_provider`](https://pub.dev/packages/path_provider): a Flutter package that provides platform-specific locations\n  for storing files.\n- [`shared_preferences`](https://pub.dev/packages/shared_preferences): a Flutter package that provides a persistent\n  store for simple data.\n- [`timeago`](https://pub.dev/packages/timeago): a Flutter package that provides human-readable time intervals.\n\n## Development Dependencies\n\nThe following development dependencies were used in the development of this project:\n\n- [`build_runner`](https://pub.dev/packages/build_runner): a command-line tool for generating Dart code based on\n  annotated source code.\n- `flutter_test`: the Flutter testing framework.\n- [`freezed`](https://pub.dev/packages/freezed): a code generator for generating immutable classes in Dart with the\n  freezed library.\n- [`json_serializable`](https://pub.dev/packages/json_serializable): a code generator for generating JSON serialization\n  and deserialization code for Dart classes.\n- [`very_good_analysis`](https://pub.dev/packages/very_good_analysis): a Flutter package that provides static analysis\n  tools and style enforcement for Flutter projects.\n\n## Getting Started\n\nTo get started with SimpleNotes, follow these steps:\n\n1. Clone the repository to your local machine.\n2. Run `flutter pub get` to install the project dependencies.\n3. Run build_runner to generate the code for the freezed classes:\n\n```sh\nflutter pub run build_runner build\n```\n\n5. Create a new Appwrite project and configure the project settings. (See\n   the [Setting up Appwrite](#setting-up-appwrite) section)\n\n\n6. Run the app using the command:\n\n```sh\nflutter run --dart-define=APPWRITE_ENDPOINT=[your_appwrite_endpoint_url] --dart-define=APPWRITE_PROJECT_ID=[your_appwrite_project_id] --dart-define=APPWRITE_NOTE_DATABASE_ID=[database-id] --dart-define=APPWRITE_NOTE_COLLECTION_ID=[collection-id]\n```\n\n## Setting up Appwrite\n\nTo use Appwrite with SimpleNotes, you need to create a new Appwrite project and configure the project settings.\nNote: Appwrite is packaged as a set of Docker images, so you need to have Docker installed on your machine to run\nAppwrite. Once that is done, proceed with the following steps:\n\n1. Open your browser and access the Appwrite console at localhost\n2. Create an account and sign in.\n3. Create a new project by clicking the `Create Project` button on the Appwrite dashboard.\n4. In the `Overview` tab, scroll down to the `Integrations` section and add a platform by clicking the `Add Platform`\n   button. Select `Flutter App` from the list, and then proceed to register your flutter app for the whatever\n   environment\n   your flutter app will run on (Android, iOS, Web, etc.).\n5. Confirm that `Email/Password` authentication method is enabled by going to the settings section of the `Auth` tab.\n6. Retrieve the project ID from the project settings page and set it as the `APPWRITE_PROJECT_ID` environment variable.\n   And also the endpoint URL and set it as the `APPWRITE_ENDPOINT` environment variable.\n   Note: When running on Android you may need to use the IP address of your machine instead of localhost as the endpoint\n   URL.\n7. Create a new database by going to the `Database` tab and then proceed to retrieve the database ID and set it as\n   the `APPWRITE_NOTE_DATABASE_ID` environment variable.\n8. Create a new collection by clicking on the newly created database and then clicking `Create Collection`. Proceed to\n   retrieve the collection ID and set it as the `APPWRITE_NOTE_COLLECTION_ID` environment variable.\n9. In the newly created collection, go to the `Attributes` section and create the following attributes:\n    - (String) [Attribute Key]: `title` || [Size]: 40 || [Default value]: [empty][Null]\n    - (String) [Attribute Key]: `body` || [Size]: 2000 || [Required]: true\n    - (String) [Attribute Key]: `id` || [Size]: 40 || [Required]: true\n    - (String) [Attribute Key]: `ownedId` || [Size]: 40 || [Required]: true\n10. Do not forget to enable `CREATE`, `READ`, `UPDATE` and `DELETE` permissions for the created collection by navigating to the settings section of the collection.\n\nFor more information on how to use Appwrite, check out the [Appwrite documentation](https://appwrite.io/docs).\n\nNote: The --dart-define flag allows you to pass environment variables to your Flutter app at runtime. Make sure to\nreplace [your_appwrite_endpoint_url], [your_appwrite_project_id], [database-id], and [collection-id] with the\nappropriate values.\n\n## License\nThis project is licensed under the [GNU GPLv3](https://choosealicense.com/licenses/gpl-3.0/) License - see the LICENSE file for details.\n\nThe GNU GPLv3 is a free and open-source software license that gives users the freedom to use, modify, and distribute the software as they see fit, as long as they also distribute the modified software under the same license. If you choose to use this project or any of its code, please make sure to read and understand the terms of the license.\n\n## Contributing\n\nContributions of all kinds are welcome and encouraged! Whether you want to report a bug, submit a feature request, or make changes to the code, we value your input and appreciate your help in making SimpleNotes better.\n","funding_links":[],"categories":["Showcase (Built with Appwrite 📣)"],"sub_categories":["Flutter"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidnwaneri%2Fsimple_notes_app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavidnwaneri%2Fsimple_notes_app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidnwaneri%2Fsimple_notes_app/lists"}