Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/akaanuzman/req_res_api
Application written in Flutter using ReqRes API service
https://github.com/akaanuzman/req_res_api
api api-rest dart dartlang flutter flutter-app flutter-apps flutter-examples flutter-riverpod flutter-ui kartal reqres reqres-api rest-api restful-api riverpod
Last synced: 28 days ago
JSON representation
Application written in Flutter using ReqRes API service
- Host: GitHub
- URL: https://github.com/akaanuzman/req_res_api
- Owner: akaanuzman
- Created: 2023-10-03T22:10:30.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-10-06T19:43:21.000Z (about 1 year ago)
- Last Synced: 2024-10-09T16:08:03.554Z (about 1 month ago)
- Topics: api, api-rest, dart, dartlang, flutter, flutter-app, flutter-apps, flutter-examples, flutter-riverpod, flutter-ui, kartal, reqres, reqres-api, rest-api, restful-api, riverpod
- Language: Dart
- Homepage:
- Size: 20.8 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## 🛜 ReqRes Api
### 🔎 Case İncelemesi (Case Preview)
https://github.com/akaanuzman/req_res_api/assets/55639112/41bf1c85-f802-48c1-91df-f33006b873dchttps://github.com/akaanuzman/req_res_api/assets/55639112/938ac664-8a5a-4d30-906e-e484be385b2d
https://github.com/akaanuzman/req_res_api/assets/55639112/38115b58-d48a-4e49-94ad-9bdec5d0398e
https://github.com/akaanuzman/req_res_api/assets/55639112/0b17f474-86aa-4d2a-baa5-19a571383758
https://github.com/akaanuzman/req_res_api/assets/55639112/c683524a-395b-45b9-af36-68929a82ded1
### 🇹🇷 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
* [APK](https://github.com/akaanuzman/req_res_api/blob/main/app-release.apk)
```bash
git clone https://github.com/akaanuzman/req_res_api
```#### 🎁 [Bağımlılıklar](https://github.com/akaanuzman/req_res_api/blob/main/pubspec.yaml)
### 🏴 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
* [APK](https://github.com/akaanuzman/req_res_api/blob/main/app-release.apk)
```bash
git clone https://github.com/akaanuzman/req_res_api
```#### 🎁 [Dependencies](https://github.com/akaanuzman/req_res_api/blob/main/pubspec.yaml)