{"id":20031493,"url":"https://github.com/rotorgames/sibsoftprojecttest","last_synced_at":"2025-03-02T05:24:09.384Z","repository":{"id":66334555,"uuid":"86190972","full_name":"rotorgames/SibSoftProjectTest","owner":"rotorgames","description":"Тестовый проект для СибирьСофтПроект","archived":false,"fork":false,"pushed_at":"2017-03-25T22:30:19.000Z","size":260,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-12T18:08:45.214Z","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/rotorgames.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":"2017-03-25T21:56:08.000Z","updated_at":"2017-03-25T21:57:12.000Z","dependencies_parsed_at":"2023-12-25T12:30:13.181Z","dependency_job_id":null,"html_url":"https://github.com/rotorgames/SibSoftProjectTest","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/rotorgames%2FSibSoftProjectTest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rotorgames%2FSibSoftProjectTest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rotorgames%2FSibSoftProjectTest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rotorgames%2FSibSoftProjectTest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rotorgames","download_url":"https://codeload.github.com/rotorgames/SibSoftProjectTest/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241462383,"owners_count":19966859,"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-11-13T09:33:23.989Z","updated_at":"2025-03-02T05:24:09.359Z","avatar_url":"https://github.com/rotorgames.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SibSoftProjectTest\nТестовый проект для СибирьСофтПроект\n\n### Время:\nНаписание Unit тестов 1 час\n\nРазработка 4 часа\n\nТестирование 30 минут\n\n### Зависимости\nXamarin.4.3.0.789\n\nXamarin.Forms.2.3.3.193\n\nXamarin.FFImageLoading.Forms.2.2.9\n\nXam.FormsPlugin.Iconize.1.0.10\n\nPropertyChanged.Fody.1.52.1\n\nNewtonsoft.Json.9.0.1\n\nFreshMvvm.2.2.0\n\nMicrosoft.VisualStudio.QualityTools.UnitTestFramework.10.0.0.0\n\n### Описание\n\n#### Хранение данных\nПо началу я хотел использовать для хранения данных SQLite или Realm, но потом решил, \nчто это будет слишком громоздко для такой небольшой задачи. \n\nЗа хранение локальных данных отвечает внутренний механизм Xamarin.Forms который получает сериализованные данные в json.\n\n#### Кэширование изображений\nВ задание небыло указано, что кэширование данных должен был писать именно я, поэтому я решил использовать FFImageLoading,\nкоторый прекрасное решает эту задачу и уменьшает время на разработку.\n\n#### MVVM Framework \nЯ решил использовать FreshMvvm что бы не пришлось реализовывать весь патерн ViewModel to ViewModel навигации, IoC контейнеров и DI. \nНо все же я решил дописать свой Mapper так как я предпочитаю регистрировать Views и ViewModels вручную, это дает большей гибкости.\n\n#### Fody.PropertyChanged\nДля абстрагирования от реализации INotifyPropertyChanged я решил использовать Fody.PropertyChanged\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frotorgames%2Fsibsoftprojecttest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frotorgames%2Fsibsoftprojecttest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frotorgames%2Fsibsoftprojecttest/lists"}