{"id":28138461,"url":"https://github.com/giuseppenovielli/mvvmcrud","last_synced_at":"2025-05-14T17:14:44.931Z","repository":{"id":59536778,"uuid":"537780504","full_name":"giuseppenovielli/MvvmCrud","owner":"giuseppenovielli","description":"MvvmCrud helps your Xamarin.Forms/MAUI app to standardize operations of creating, updating, deletion and display data, from REST API.","archived":false,"fork":false,"pushed_at":"2023-03-12T16:03:08.000Z","size":863,"stargazers_count":13,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-05-14T17:14:32.192Z","etag":null,"topics":["crud-api","crud-application","crud-operation","csharp","maui","maui-app","maui-apps","mvvm-architecture","mvvm-pattern","prismlibrary","xamarin","xamarin-forms"],"latest_commit_sha":null,"homepage":"","language":"C#","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/giuseppenovielli.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":"buymeacoff.ee/giuseppeDev"}},"created_at":"2022-09-17T10:58:18.000Z","updated_at":"2024-08-06T14:59:19.000Z","dependencies_parsed_at":"2023-02-06T07:17:01.750Z","dependency_job_id":null,"html_url":"https://github.com/giuseppenovielli/MvvmCrud","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giuseppenovielli%2FMvvmCrud","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giuseppenovielli%2FMvvmCrud/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giuseppenovielli%2FMvvmCrud/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giuseppenovielli%2FMvvmCrud/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/giuseppenovielli","download_url":"https://codeload.github.com/giuseppenovielli/MvvmCrud/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254190407,"owners_count":22029637,"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":["crud-api","crud-application","crud-operation","csharp","maui","maui-app","maui-apps","mvvm-architecture","mvvm-pattern","prismlibrary","xamarin","xamarin-forms"],"created_at":"2025-05-14T17:14:17.713Z","updated_at":"2025-05-14T17:14:44.923Z","avatar_url":"https://github.com/giuseppenovielli.png","language":"C#","funding_links":["buymeacoff.ee/giuseppeDev","https://www.buymeacoffee.com/giuseppeDev"],"categories":[],"sub_categories":[],"readme":"# MvvmCrud\nMvvmCrud helps your Xamarin.Forms/MAUI app with Prism Library to standardize operations of creating, updating, deletion and display data, from REST API.\n\n|                 | Preview                                                                                                                                                                                                                                                                                                                                                | Stable |\n|-----------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------|\n| Xamarin.Forms_5 | [![NuGet version (MvvmCrud.Forms.Prism)](https://img.shields.io/nuget/v/MvvmCrud.Forms.Prism.svg?style=flat-square)](https://www.nuget.org/packages/MvvmCrud.Forms.Prism/) [![NuGet version (MvvmCrud.Forms.Prism)](https://img.shields.io/nuget/dt/MvvmCrud.Forms.Prism.svg?style=flat-square)](https://www.nuget.org/packages/MvvmCrud.Forms.Prism/) |        |\n| MAUI_NET7       | [![NuGet version (MvvmCrud.Maui.Prism)](https://img.shields.io/nuget/v/MvvmCrud.Maui.Prism.svg?style=flat-square)](https://www.nuget.org/packages/MvvmCrud.Maui.Prism/) [![NuGet version (MvvmCrud.Maui.Prism)](https://img.shields.io/nuget/dt/MvvmCrud.Maui.Prism.svg?style=flat-square)](https://www.nuget.org/packages/MvvmCrud.Maui.Prism/)       |        |\n\n## Example\n\n\nhttps://user-images.githubusercontent.com/42063890/224556865-b7906fe4-2a24-4a47-a40a-bd081f7c4a57.mp4\n\n\n\n\n## How it works\n\nThis framework standardize CRUD's operations into ViewModel's file using generic T type, endpoint's requests and fully customizable.\n\n*The target is WRITE LESS CODE, STANDARDIZING THE MOST USED UI CRUD OPERATIONS, IMPROVE PRODUCTIVITY SPEED.*\n\nOnly with these following lines of code your page can:\n- Display list of data\n- Embedded custom message, if endpoint fails\n- Embedded pagination's manager\n- Embedded Perform searchs\n- Embedded deletion cell's content, with automatic detect endpoint and confirm message\n- Embedded update cell's content, with automatic: detect endpoint, open page, save, upload and update list's cell\n- Embedded open detail's page\n- Embedded empty view UI\n- Embedded loadig more view UI\n\nAll fully customizable!\n\n```\nnamespace MVVMCrud.Example.ViewModels.Post\n{\n    public class PostPageViewModel : BaseListPaginationAdvancedViewModel\n        \u003cPostCellViewModel, BaseModelItemsRoot\u003cPostItem\u003e, PostItem\u003e\n    {\n        public PostPageViewModel(\n            INavigationService navigationService,\n            IRequestService requestService) : base(navigationService, requestService)\n        {\n        }\n\n        public override string SetupEndpoint() =\u003e Constants.Constants.METHOD_POST;\n\n        public override async void AddNewItem(PostItem item)\n        {\n            SetupAddItemMessage();\n            await SetupGetItems();\n        }\n\n        public override async void UpdateEditItem(NewEditItem\u003cPostItem\u003e newEditItem)\n        {\n            SetupEditItemMessage();\n            await SetupGetItems();\n        }\n\n        public override List\u003cPostCellViewModel\u003e PerformSearchSetup(string newText) =\u003e ItemsList.Where(x =\u003e x.Item.Title.Contains(newText.ToLower())).ToList();\n\n        #region DetailPage\n        public override string SetupDetailPageName(PostCellViewModel obj) =\u003e nameof(CommentPage);\n\n        public override bool IsDetailPageWithHeader(PostCellViewModel obj) =\u003e true;\n        #endregion\n\n    }\n}\n```\n\n\n## Docs\n\n- Clone this repository and check app's example. App's example use the follow endpoint https://jsonplaceholder.typicode.com/ to test functionality.\n- Go to [Wiki](https://github.com/giuseppenovielli/MvvmCrud/wiki) page. (Under construction)\n\n## Feedback or Requests\nUse GitHub [Issues](https://github.com/giuseppenovielli/MvvmCrud/issues) for bug reports and feature requests.\n\nUse GitHub [Discussios](https://github.com/giuseppenovielli/MvvmCrud/discussions) for questions or opinions.\n\n\n## Disclaimer\n\nThis is at the moment an experiment. Use at your own risk.\n\n## Copyright and license\nCode released under the [MIT license](https://opensource.org/licenses/MIT).\n\n## Did you like ?\n[Buy Me A Coffee](https://www.buymeacoffee.com/giuseppeDev)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgiuseppenovielli%2Fmvvmcrud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgiuseppenovielli%2Fmvvmcrud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgiuseppenovielli%2Fmvvmcrud/lists"}