The purpose of this project is to show the missions of SpaceX company's rockets.
- Access to database for pick launch entity
- Display the list of launched missiles.
- Ability to bookmark favorite missions
- Clone the project
- Go to the Repo folder
- Open file SpaceX_JA.xcodeproj
- Wait till SPM gets all dependencies
- Then run the app with Command + R
- It uses a clean architecture to split data, domain, and view (Clean architecture)
- It makes it easy for the system to change.
- Business logic is totally separated from other layers in the code base, and other layers depend on the business rules, making it easy for the system to add/update features.
- I developed simple and readable logic.
- Every module defines its purpose rather than its details. This helps understand what an app does rather than going in-depth into the technical details.
- Presenter: It contains all User interface application code
- Domain: All the domain logic of the application is here and it is totally independent
- Data: You can find all the repository models or DTO objects
It uses SPM for dependency management and you do not need to install the other third-party management (Swift Package Manager)
- Realm: Realm is a mobile database that runs directly inside phones, tablets or wearables
- FActory: Factory is A new approach to Container-Based Dependency Injection for Swift
Feedback, suggestions, and contributions are welcome. Please use GitHub issues.
Javad arji (j.arji)