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

https://github.com/sulekaptan/marvel-comics-app

Marvel Comics App is an iOS application that allows users to explore Marvel characters, events, and comics. The app integrates with the Marvel API to display various content categories and it provides Firebase-based authentication for user login and registration. Users can manage their favorite characters within the app.
https://github.com/sulekaptan/marvel-comics-app

firebase ios-app marvel-api swiftui

Last synced: 5 days ago
JSON representation

Marvel Comics App is an iOS application that allows users to explore Marvel characters, events, and comics. The app integrates with the Marvel API to display various content categories and it provides Firebase-based authentication for user login and registration. Users can manage their favorite characters within the app.

Awesome Lists containing this project

README

        

# Marvel Comics App

Marvel Comics App is an iOS application that allows users to explore Marvel characters, events, and comics. The app integrates with the Marvel API to display various content categories and it provides Firebase-based authentication for user login and registration. Users can manage their favorite characters within the app.

## Contents

- [Features](#features)
- [Installation](#installation)
- [Usage](#usage)
- [Architecture](#architecture)
- [Screens](#screens)
- [Requirements](#requirements)

## Features

- List Marvel characters
- Display detailed information about each character on a character details page
- User registration and login using Firebase Auth
- Manage favorite characters
- Load character images asynchronously with `AsyncImage`
- Display content categories on the main screen without page navigation

## Installation

1. **Clone the Repository:**
```bash
git clone https://github.com/sulekaptan/MarvelApp.git
cd MarvelApp
```

2. **Install Dependencies:**
The project uses Swift Package Manager for dependency management.
- Open the project in Xcode, right-click the project file, and select "Resolve Package Dependencies."

3. **API Key and Firebase Configuration:**
- Add your Marvel API key in `API.swift`.
- Download `GoogleService-Info.plist` from Firebase and add it to the root of the project directory.

## Usage

* The HomeView displays various Marvel content categories. Each category shows a name and image, which is loaded using `AsyncImage`.
* This screen lists characters with pagination, utilizing AsyncImage to load character images.
* Handles user login and registration through `Firebase Authentication`.
* Basic configuration to fetch data from the `Marvel API`.

## Architecture
The app follows the MVVM (Model-View-ViewModel) architecture pattern.
* Model: Contains data structures matching the API response.
* ViewModel: Handles API calls, processes data and prepares it for the UI.
* View: Builds the user interface and displays data from the ViewModel.

## Screens













## Requirements
* iOS 14.0+
* Xcode 12.0+
* Swift 5.0+

## TO-DO
* Make Favorites Functional
* Implement Send Feedback Functionality
* Implement Notifications
* Add Localization
* Implement Logout Functionality
* Implement Delete Account Feature