Skip to content

Rick and Morty Infoverse app using SwiftUI and The Rick and Morty API.

License

Notifications You must be signed in to change notification settings

nanda-wk/RickAndMortyInfoverse

Repository files navigation

RickAndMortyInfoverse logo

RickAndMortyInfoverse

RickAndMortyInfoverse is an iOS app built using SwiftUI that connects to the Rick and Morty API, allowing users to explore characters, episodes, and locations from the show. The app uses a clean MVVM architecture, includes advanced scroll view behaviors, and features a custom tab bar with animations based on user interaction.

Features

  • SwiftUI & URLSession: Utilized for making asynchronous API calls to the Rick and Morty API.
  • Async/Await: Modern concurrency with async/await for handling REST API requests.
  • Model Binding: Results are decoded into models and bound to views for seamless UI updates.
  • LazyVGrid for Characters & Episodes: Displays a grid of characters and episode details using a performant grid layout.
  • ListView for Locations: The app includes a list view for browsing the different locations from the show.
  • Scroll View Behavior: Using GeometryReader, the app detects scrolling direction and shows/hides the tab bar accordingly.
  • Custom Tab Bar: A visually appealing, custom-designed tab bar that responds to scrolling behavior.
  • MVVM Architecture: Implements Model-View-ViewModel architecture for better separation of concerns.
  • Image Loading with Kingfisher: Third-party package Kingfisher is used for efficiently loading and caching images of the characters.
  • Search & Filter: Provides search functionality with filtering options via PickerWheel.
  • Light Mode Only: The app currently supports only light mode.

Screenshots

Installation

  1. Clone the repository:

    git clone https://github.com/nanda-wk/RickAndMortyInfoverse.git
    
  2. Open the project in Xcode.

  3. Install dependencies (Kingfisher is included via Swift Package Manager):

    File > Swift Packages > Resolve Package Versions
    
  4. Build and run the project on your simulator or device.

Third-Party Libraries

  • Kingfisher - Used for efficient image downloading and caching.

API Reference

This app uses the open-source Rick and Morty API for fetching information on:

  • Characters
  • Episodes
  • Locations

Future Improvements

  • Dark Mode Support: Adding dark mode compatibility.
  • Favorites Feature: Enable users to favorite characters, episodes, or locations.
  • Enhanced Filtering: Allow more complex filtering options for characters and episodes.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Rick and Morty Infoverse app using SwiftUI and The Rick and Morty API.

Resources

License

Stars

Watchers

Forks

Languages