Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/akaanuzman/githubclone

Github Clone with Unit Testing on SwiftUI with Github API 🚀
https://github.com/akaanuzman/githubclone

github github-api github-clone swift swift-language swift5 swiftui swiftui-app swiftui-framework swiftui-learning unit-testing unit-tests-true unittest

Last synced: about 13 hours ago
JSON representation

Github Clone with Unit Testing on SwiftUI with Github API 🚀

Awesome Lists containing this project

README

        

## 👨🏻‍💻 GithubClone
### 🔎 Preview
https://github.com/akaanuzman/GithubClone/assets/55639112/4e04fd6b-509f-45cb-9957-f5a2ef4fb7f4

### 🇹🇷 Türkçe

* #### 📁 Klasör Yapısı, Yazılım Mimarisi ve Teknik Detaylar
* Verilen çalışma SwiftUI ile geliştirilmiş olup temiz kod yazılımına ve SOLID prensiplerine oldukça dikkat edilmeye çalışılmıştır. Ayrıca API istekleri için Unit Test yazılmış olup tüm test senaryoları başarılı bir şekilde geçmiştir. Swift programlama dilinin ve nesne yönelimli programlamanın tüm efektif özelliklerinin kullanılmasına özen gösterilmiştir. SwiftUI framework'ünün vermiş olduğu özellikler, esneklikler kullanılmaya ve uygulanmaya çalışılmıştır.Design Pattern olarak MVMM kullanılmış olup tasarım kısmında ise Atomic Design metodolijisi uygulanmıştır.
* Klasör yapısı olarak products klasörü altında enum type'lar, extensionlar, network katmanı, view modifier'lar gibi yapılar bulunmaktadır. Uygulama içi bulunan tüm ekranlarımız modellerimiz ve view model sınıflarımız features klasörü altında yerini almaktadır.

### 🏴󠁧󠁢󠁥󠁮󠁧󠁿 English

* #### 📁 Folder Structure, Software Architecture and Technical Details
* The given work has been developed with SwiftUI and a great deal of attention has been paid to clean code software and SOLID principles. In addition, Unit Test has been written for API requests and all test scenarios have been passed successfully. Care has been taken to use all the effective features of the Swift programming language and object-oriented programming. The features and flexibility provided by the SwiftUI framework were tried to be used and applied. MVMM was used as the Design Pattern, and the Atomic Design methodology was applied in the design part.
* As a folder structure, there are structures such as enum types, extensions, network layer, view modifiers under the products folder. All our screens, models and view model classes in the application are located under the features folder.