{"id":17595339,"url":"https://github.com/anasfik/youcan_flutter_sdk","last_synced_at":"2026-03-14T06:33:40.559Z","repository":{"id":65209262,"uuid":"583085819","full_name":"anasfik/Youcan_flutter_sdk","owner":"anasfik","description":"The YouCan E-commerce platform SDK for Flutter/Dart, built for a better developer experience. ","archived":false,"fork":false,"pushed_at":"2023-01-23T12:38:11.000Z","size":1490,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-03T08:59:55.258Z","etag":null,"topics":["api-rest","dart","dart-lib","dart-packages","e-commerce","e-commerce-api","e-commerceplatform","flutter","flutter-plugin","sdk","youcan","youcan-pay","youcanbookme","youcanpay"],"latest_commit_sha":null,"homepage":"https://anasfik.github.io/Youcan_flutter_sdk","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/anasfik.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-12-28T18:11:07.000Z","updated_at":"2024-09-09T04:38:16.000Z","dependencies_parsed_at":"2023-02-12T23:16:02.170Z","dependency_job_id":null,"html_url":"https://github.com/anasfik/Youcan_flutter_sdk","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/anasfik%2FYoucan_flutter_sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anasfik%2FYoucan_flutter_sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anasfik%2FYoucan_flutter_sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anasfik%2FYoucan_flutter_sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anasfik","download_url":"https://codeload.github.com/anasfik/Youcan_flutter_sdk/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248313394,"owners_count":21082854,"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":["api-rest","dart","dart-lib","dart-packages","e-commerce","e-commerce-api","e-commerceplatform","flutter","flutter-plugin","sdk","youcan","youcan-pay","youcanbookme","youcanpay"],"created_at":"2024-10-22T07:54:20.761Z","updated_at":"2026-03-14T06:33:40.483Z","avatar_url":"https://github.com/anasfik.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cbr\u003e\n\u003cp align='center' \u003e\n\u003cimg src=\"https://imgur.com/qqnkQDr.png\" width='300px'/\u003e\n\u003ch1 align='center'\u003eYouCan API \u003c/h1\u003e\n\u003cbr\u003e\n\u003cp align=\"center\"\u003e\u003cimg alt=\"GitHub\" src=\"https://img.shields.io/github/license/anasfik/youcan_flutter_sdk?style=for-the-badge\" /\u003e\n\u003cimg alt=\"Star on GitHub\" src=\"https://img.shields.io/github/stars/anasfik/youcan_flutter_sdk.svg?style=for-the-badge\" /\u003e\n\u003cimg alt=\"GitHub contributors\" src=\"https://img.shields.io/github/contributors/anasfik/youcan_flutter_sdk?style=for-the-badge\"\u003e\n\u003cimg alt=\"GitHub commit activity\" src=\"https://img.shields.io/github/commit-activity/y/anasfik/youcan_flutter_sdk?color=red\u0026style=for-the-badge\"\u003e\n\u003cimg alt=\"GitHub top language\" src=\"https://img.shields.io/github/languages/top/anasfik/youcan_flutter_sdk?style=for-the-badge\" /\u003e\n\u003cimg alt=\"GitHub language count\" src=\"https://img.shields.io/github/languages/count/anasfik/youcan_flutter_sdk?style=for-the-badge\"\u003e\n\u003c/p\u003e\u003c/p\u003e\n\n\u003ch3\u003e\u003cp align='center'\u003eA wrapper into the YouCan platform API that enables developers to extend its features inside a Dart/Flutter project\u003c/p\u003e\u003c/h3\u003e\n\u003cbr\u003e\n\n**YOU CAN HELP THIS PROJECT MAINTAINED CONTINUOUSLY BY THE AUTHOR WITH A STAR ✨✨**\n\n\u003cbr\u003e\u003cbr\u003e\n\n## Motivation\n\nWell, we might need a flexible and easy way to exchange requests from this API to our project, this could get developers more unnecessary extra work such as dealing with configuring and using the API's multiple endpoints, loose types of data, HTTP requests, modeling data...\n\u003cbr\u003e\n\u003cbr\u003e\n\nThis library aims to cover the developers from all those sides and provide easy call methods that bring them to their goals.\n\nNOTE: This is still under development\n\n# Documentation\n\nGet the full documentation of all that this library offers \u003ca href=\"https://anasfik.github.io/youcan_flutter_sdk\"\u003efrom this link \u003c/a\u003e\n\n## Usage\n\n### Store configuration\n\nTo configure this library to get the data directly from your store, you will need to set it like this:\n\n```dart\nvoid main() {\n  YouCan.instance.storeLink = 'https://example.youcan.shop'; // change it with your store's link\n}\n```\n\n### Authentication\n\nYou can authenticate your customers to your store by calling the `login()` and `create()` methods on the customers instance like this:\n\n```dart\n// Login\nString loginToken = await YouCan.instance.customers.login(\n        email: \"YOUR EMAIL HERE\",\n        password: \"YOUR PASSWORD HERE\",\n      );\n\n// Sign Up.\nCustomerCreationResponse customerCreationResult = await YouCan.instance.customers.create(\n        email: \"YOUR EMAIL HERE\",\n        password: \"YOUR PASSWORD HERE\",\n        confirmPassword: \"THE PASSWORD CONFIRMATION HERE\",\n      );\n\n```\n\n### Get Products\n\nTo get a List\u003cProduct\u003e` with all your store's products:\n\n```dart\n  List\u003cProduct\u003e products = await YouCan.instance.products.all();\n```\n\n### Get Reviews\n\nYou can also get a product's reviews as `List\u003cReview\u003e` like this:\n\n```dart\n  List\u003cProduct\u003e products = await YouCan.instance.products.all();\n  Product oneProduct = products.first;\n  List\u003cReview\u003e review = await oneProduct.reviews();\n```\n\n### Get Categories\n\nto get all your store's categories as `List\u003cCategory\u003e`, you will need to do this:\n\n```dart\n  List\u003cCategory\u003e categories = await YouCan.instance.categories.all();\n```\n\n### Querying\n\n#### Search\n\nSearch queries are made easy:\n\n```dart\n  List\u003cProduct\u003e products = await YouCan.instance.products.search(\"YOUR SEARCH TEXT\").all();\n```\n\n#### Pagination\n\nPagination queries are also made easy, this example will get us the second page's products :\n\n```dart\n  List\u003cProduct\u003e products = await YouCan.instance.products.pagination(2).all();\n```\n\n#### Limit\n\nYou can also limit the requested elements to a specific number\n\n```dart\n  List\u003cProduct\u003e products = await YouCan.instance.products.limit(10).all();\n```\n\n### Combining Queries\n\nin brief, you can query your targets (products, reviews...) based on your store's implementation way, this means that you can query by categories, pages, and limiting elements... :\n\n```dart\n  List\u003cProduct\u003e products = await YouCan.instance.categories.category(\"Category id\").products.pagination(2).limit(15).all();\n```\n\n### Contact\n\nYou can get in contact with your users using the `sendMessage()` :\n\n```dart\nbool isSent = await YouCan.instance.contact.sendMessage(\nemail: 'email',\nsubject: 'subject',\nmessage: 'message',\n),\n```\n\n### Contributing\n\nOur open-source project is making a difference in the E-commerce/Flutter community and we need your help to continue improving and expanding it. any kind of contribution is welcome.\n\n**Thank you!**\n\n### License\n\n```\nMIT License\n\nCopyright (c) 2023 Gwhyyy\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanasfik%2Fyoucan_flutter_sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanasfik%2Fyoucan_flutter_sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanasfik%2Fyoucan_flutter_sdk/lists"}