Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/ljaniszewski00/rmguidetca

Rick and Morty guide iOS app built using TCA
https://github.com/ljaniszewski00/rmguidetca

async-await ios nscache rick-and-morty rickandmortyapi swift swiftui tca the-composable-architecture xcode

Last synced: about 23 hours ago
JSON representation

Rick and Morty guide iOS app built using TCA

Awesome Lists containing this project

README

        

# RMGuideTCA

RMGuide Logo

## Table of Content
* [General info](#general-info)
* [Technologies and functionalities](#technologies-and-functionalities)
* [Status](#status)
* [Requirements](#requirements)
* [Screenshots](#screenshots)
* [Preview video](#preview-video)

## General info
Rick and Morthy guide app!
It utilises open [Rick and Morty API](https://rickandmortyapi.com/documentation/#introduction) to display information about characters and episodes from the TV series.

## Technologies and functionalities
* Swift (SwiftUI)
* Xcode 15.4
* [TCA architecture](https://github.com/pointfreeco/swift-composable-architecture)
* Async/Await for concurrency
* [UserDefaults](https://developer.apple.com/documentation/foundation/userdefaults) for marking favorite characters from TCA's default implementation for AppStorage
* [NSCache](https://developer.apple.com/documentation/foundation/nscache) for caching loaded episodes info from TCA's default implementation for Cache
* TCA's default dependency injection DI implementation
* Pop-up error handling
* Native pull to refresh to get latest data from API
* Possibility to filter displayed characters by search text and/or favorites only
* Possibility to display characters in a grid or in a list
* Support for both light and dark mode
* Unit Tests

## Status
Finished

## Requirements
Apple iPhone with iOS 16+ installed

## Screenshots

### Start



### CharactersList







### CharacterDetails



### EpisodeDetails




## Preview Video

https://github.com/ljaniszewski00/RMGuide/assets/78795431/27c1e860-1b3c-4a81-b5c8-bd8f46714581