Dragon Ball App is an iOS application developed in Swift, designed to display Dragon Ball characters along with their descriptions and transformations.
The project includes a Login system for user authentication and uses Core Data for local storage.
It also integrates a REST API to fetch character data and leverages MapKit and CoreLocation to display each character’s location on an interactive map.
Unit Testing is implemented to ensure code quality and reliability.
The app provides a workflow that allows users to browse a list of characters and view their details.
When selecting a transformation, users can access more specific information about it.
Additionally, the app enables viewing each character’s location through interactive maps.
- Login: Authentication system to access the app.
 - Core Data: Local storage for characters and transformations.
 - REST API: Fetches character data from an external server.
 - Collection View: Displays characters in an organized and visually appealing way.
 - MapKit: Integrates maps to display locations.
 - CoreLocation: Uses the device’s location services.
 - Keychain: Secure storage for the access token.
 - Testing: Unit and integration tests to ensure functionality.
 
- Swift: Main programming language for app development.
 - UIKit: For managing the UI and visual components.
 - Core Data: For managing local data persistence.
 - REST API: For retrieving data from an external server.
 - XCTest: Framework used to implement unit and integration tests.
 
- Clone this repository.
 - Open the project in Xcode.
 - Run the project on a simulator or a physical device.
 
- Upon launching the app, a login screen will be displayed.
 - After logging in, you will see a list of Dragon Ball characters.
 - Select a character to view their description, location, and transformations.
 - Tap a transformation to view detailed information about it.
 
To run the project’s tests:
- Open the project in Xcode.
 - Press 
Cmd + Uto execute the tests. 
