{"id":19143078,"url":"https://github.com/manishpathak99/riderapplication","last_synced_at":"2025-02-22T19:23:34.984Z","repository":{"id":152282165,"uuid":"207627068","full_name":"manishpathak99/RiderApplication","owner":"manishpathak99","description":"The main purpose of this app is to show items and on item click , it navigates to Map","archived":false,"fork":false,"pushed_at":"2019-09-10T18:17:09.000Z","size":3006,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-03T15:37:35.601Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/manishpathak99.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-09-10T17:54:11.000Z","updated_at":"2019-09-10T18:17:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"46b94277-a241-4240-af3f-b1281adf864a","html_url":"https://github.com/manishpathak99/RiderApplication","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manishpathak99%2FRiderApplication","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manishpathak99%2FRiderApplication/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manishpathak99%2FRiderApplication/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manishpathak99%2FRiderApplication/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/manishpathak99","download_url":"https://codeload.github.com/manishpathak99/RiderApplication/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240223911,"owners_count":19767670,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T07:29:27.705Z","updated_at":"2025-02-22T19:23:34.960Z","avatar_url":"https://github.com/manishpathak99.png","language":"Swift","readme":"# RiderApp\nThe main purpose of this app is to show items and on item click , it navigates to screen where it shows the annotations on Map screen.\n\n## Pre-requisites\nXCode 10.2\n\nMAC 10.14\n\nSwift 5.0\n\niOS 10.0 +\n\n## Application Version \n1.0\n\n\n## How to run this project\nOpen terminal and run  `pod install`\n\nGo to project directory and run command `xed .` in terminal to open project in Xcode. \n\n\n## Architecture \n In this application , VIPER pattern is used.\n \n \n ![Imgur Image](https://github.com/manishpathak99/RiderApplication/blob/master/Screenshots/diagram.png)\n \n \n \n**V (View):**\nView is responsible for the UI updates and show whatever the presenter tells it.\n\n**I (Interactor)** The purpose of Interactor is responsible for fetching data from the model layer, and its implementation is totally independent of the user interface.All the business logic like `getting delivery data` is written inside the Interactor.\n\n**P (Presenter)** The role of Presenter is intermediator, it gets data from interaction and passes to View. (It may be data or any user action)\n\n**E (Entity)**  Basically it is contains the Object Model which is used by Interactor. like DeliveryModel\n\n**R (Router)** It contains navigation logic for the application for example when user clicks on list item , it navigates to Map screen\n\n**DataManager** - The main purpose of DataManager is to handle the data flow , it decides whether the data should come from the server or from local DB. \n\n\n#### Low level Data Flow Diagram \nBelow is the low level data flow diagram -\n \n ![Imgur Image](https://github.com/manishpathak99/RiderApplication/blob/master/Screenshots/low-level-data-flow-diagram.png)\n\n## Network Handling and Caching\nThe application is using Alamofire library for network API calls. when user open app , it starts fetching the data from server, after successfull response it saves the data in Realm database. If there is an error occured, something went wrong dialog appears . \n\nfor Image caching, Application is using kingfisher library. \n\n## Cocoapods\nAlamofire\n\nSnapkit\n  \nObjectMapper\n\nRealmSwift\n\nKingfisher\n\nNVActivityIndicatorView\n##### For testing\n\nQuick\n\nNimble\n\n## SwiftLint \n- For installing Swfitlint, Follow instructions which are written in Readme file  https://github.com/realm/SwiftLint\n- Run command line report `swiftlint --reporter \"html\" \u003e linter.html`\n- Open the .swiftlint.yml file and modify the rules if its required as per the requirement.\n    \n ![Imgur Image](https://github.com/manishpathak99/RiderApplication/blob/master/Screenshots/swiftlint.png)\n \n ## Screenshots \n![Imgur Image](https://github.com/manishpathak99/RiderApplication/blob/master/Screenshots/screen1.png)\n\n![Imgur Image](https://github.com/manishpathak99/RiderApplication/blob/master/Screenshots/screen2.png)\n\n\n\n### NOTE: \nAs few classes are part VIPER architecture , so I am leaving those classes with empty declaration like `DeliveryDetailModel` and `DeliveryDetailInteractor`. \n\n### Todo\n0- Mocking of Alamofire Library (Facing issue in mocking the http lib)\n\n1- UI Test Cases\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanishpathak99%2Friderapplication","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmanishpathak99%2Friderapplication","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanishpathak99%2Friderapplication/lists"}