Skip to content

Application written in Flutter using ReqRes API service

Notifications You must be signed in to change notification settings

akaanuzman/req_res_api

Repository files navigation

🛜 ReqRes Api

🔎 Case İncelemesi (Case Preview)

First.Preview.mp4
Second.Preview.mp4
Third.Preview.mp4
Fourth.Preview.mp4
Fifth.Preview.mp4

🇹🇷 Türkçe

  • 👨🏻‍💻 Case Hakkında

    • Öncellikle uzun zamandır Flutter tarafında sıfırdan bir mobil uygulama geliştirmiyordum. Bu case sayesinde kendimi geliştirdiğim, uçtan uca yapı kurarak yazdığım bir case çalışması oldu. Elimden geldiğince temiz yazmaya ve yorum satırları ekleyerek projeyi okunabilir hale getirmeye dikkat ettim. İncelediğiniz için teşekkürler!
  • 📁 Klasör Yapısı, Yazılım Mimarisi ve Teknik Detaylar

    • Verilen çalışma mobil kısmı Flutter & Dart back-end kısmını ise hazır API'larla geliştirilmiş olup temiz kodlama felsefelerine ve SOLID prensiplerine dikkat edilmeye çalışılmıştır. Ayrıca Dart programlama dilinin ve nesne yönelimli programlamanın tüm efektif özelliklerinin kullanılmasına özen gösterilmiştir. Hazır yapılar kurulmuş olup bu yapılar projeden projeye aktaralıp kolayca bir şekilde kullanılabilecek bir seviyededir. Flutter framework'ünün vermiş olduğu özellikler, esneklikler kullanılmaya ve uygulanmaya çalışılmıştır.Design Pattern olarak MVC+S kullanılmış olup tasarım kısmında ise Atomic Design metodolijisi uygulanmıştır. Network laye başta olmak üzere projedeki her bir işlev kendini tekrarlaması için generic metotlara ayırılmıştır. Model yapısında json serializable, state management tarafında riverpood kullanılmıştır. Paket bağımlılığını azaltmak için projenin tasarım kısmında minimum paket kullanılmaya özen gösterilmiştir. Github'ta ise branch yapısına aşina olunması açısından feature/base branch yapısı kullanılmıştır.

    • Klasör yapısı olarak proje iki farklı klasörden dallanmaktadır. Products klasörü altında uygulama içi sabitler, validator'lar, tema yapısı ve widgetlar bulunmaktadır. Features klasörünün altına MVC+S design pattern gömülmüştür.

📀 Kurulum

git clone https://github.com/akaanuzman/req_res_api

🏴󠁧󠁢󠁥󠁮󠁧󠁿 English

👨🏻‍💻 About Case

  • First of all, I haven't developed a mobile application from scratch on Flutter for a long time. Thanks to this case, it was a case study that I improved myself and wrote by building an end-to-end structure. I paid attention to write as cleanly as I could and make the project readable by adding comment lines. Thanks for reviewing!

  • 📁 Folder Structure, Software Architecture and Technical Details

    • The mobile part of the given work has been developed with Flutter & Dart and the back-end part has been developed with ready-made APIs and clean coding philosophies and SOLID principles have been tried to be paid attention to. In addition, all effective features of the Dart programming language and object-oriented programming have been used. Ready-made structures have been established and these structures are at a level that can be transferred from project to project and can be used easily. The features and flexibilities provided by the Flutter framework have been tried to be used and implemented. MVC+S has been used as the Design Pattern and Atomic Design methodology has been applied in the design part. Each function in the project, especially the network layer, is divided into generic methods to repeat itself. Json serialisable is used in the model structure and riverpood is used in state management. In order to reduce package dependency, care was taken to use minimum packages in the design part of the project. In Github, feature/base branch structure was used to familiarise with the branch structure.
  • As a folder structure, the project branches from two different folders. Products folder contains in-app constants, validators, theme structure and widgets. MVC+S design pattern is embedded under the Features folder.

📀 Installation

git clone https://github.com/akaanuzman/req_res_api