42Events iOS App
42Race Coding Test
Prerequirements
- Xcode 12.2 or above
How to run project
Step 1:
git clone git@github.com:diepnn01/42Events.git
cd 42Events
pod install --repo-update
Step 2:
open 42Events.xcworkspace
Architecture
Project uses MVP architectural pattern along with RxSwift. So that We grouped the project's source code in the project this folder structure:
Main
This folder contains AppDelegate.swift it is root of application
Services
This folder contains classes that responsibilitiy to connect API, other external platforms (Firebase, Realm ..)
Routing
This folder contains classes that responsibilitiy to format params and setup prerequires condition to work with API
Models
Defining classes to send to API as well as binding to UI
App
Defining Controller, Presenter, View
Utils
Defining classes utils that we used in project
Common
Defining extensions, enums
CustomViews
Defining custom uiview, uitableviewcell, uicollectionviewcell, ...
Resources
Locating font, images ...