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

https://github.com/kiarashvosough1999/bama-challange


https://github.com/kiarashvosough1999/bama-challange

Last synced: 4 months ago
JSON representation

Awesome Lists containing this project

README

          

# Bama-Challange

![Swift](https://img.shields.io/badge/Swift-5.8-Orange?style=flat-square)
![Platforms](https://img.shields.io/badge/Platforms-iOS_16.0-Green?style=flat-square)
[![Twitter](https://img.shields.io/badge/Twitter-@Vosough_k-blue.svg?style=flat-square)](https://twitter.com/vosough_k)
[![Linkedin](https://img.shields.io/badge/Linkedin-KiarashVosough-blue.svg?style=flat-square)](https://www.linkedin.com/in/kiarashvosough/)

This reposiroty contains a challange for Bama incoporation. The application shows list of following endpoints:

1. http://jsonplaceholder.typicode.com/posts
1. http://jsonplaceholder.typicode.com/{[post-id}
2. http://jsonplaceholder.typicode.com/users

### Current Architecture and Used Stack:

- Github Action Enabled
- Pure SwiftUI(Used enhanced components like LazyVStack for showing lists)
- Unit Tests
- Offline First
- Used **`MVVM`** + **`Clean`** Architecture Pattern
- Fully decoupled layers
- Modularized
- Used Dependency Injection
- CoreData Store
- Several Custom UI Components with simple animations
- Dynamic UINavigation

## TODO
- [ ] UI Test

## Flow

![](https://github.com/kiarashvosough1999/Bama-Challange/blob/master/bama.jpg)