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

https://github.com/joaolfp/deliveryapp-ios

Delivery App - iOS
https://github.com/joaolfp/deliveryapp-ios

Last synced: 6 months ago
JSON representation

Delivery App - iOS

Awesome Lists containing this project

README

          

# DeliveryApp

[![CI](https://github.com/joaolfp/DeliveryApp-iOS/actions/workflows/CI.yml/badge.svg)](https://github.com/joaolfp/DeliveryApp-iOS/actions/workflows/CI.yml)
[![codecov](https://codecov.io/gh/joaolfp/DeliveryApp-iOS/graph/badge.svg?token=RYTP12HMY7)](https://codecov.io/gh/joaolfp/DeliveryApp-iOS)
[![License](https://img.shields.io/github/license/joaolfp/DeliveryApp-iOS.svg)]([https://github.com/joaolfp/ViewState/blob/master/LICENSE](https://github.com/joaolfp/DeliveryApp-iOS/blob/main/LICENSE))

DeliveryApp logo

Delivery App is a simple app that shows a list of available categories and restaurants and we will be evolving over time :rocket:

## Knowledge Stack

* Language: Swift
* Modules: Mult modules project with SPM
* Dependencies: SPM
* Architecture: MVVM
* Network: URLSession
* Layout: View Code (without Storyboard) & SwiftUI
* UnitTest: XCTest
* Snapshot Test: SnapshotTesting
* CI: Github Action
* Linters: SwiftLint
* Test coverage: Codecov

## App structure

* DeliveryApp: Main module
* Authentication: Validates FaceID or TouchID
* Home: Main screen
* Address: For the user to select the address
* Persistence: Save local information
* Networking: Network configuration of the whole app
* Core: All settings and code reusable
* Coordinator: Navigation structure
* Design System: All layout like colors, views and images
* TestUtils: Mocks and codes to help with unit tests
* Analytics: Help troubleshoot problems and monitor failure data with more granularity

## How to build the app

Open DeliveryApp.xcodeproj

To run the tests locally you can use fastlane

```
bundle exec fastlane tests
```

## License
DeliveryApp-iOS is released under the MIT license. See [LICENSE](https://github.com/joaolfp/DeliveryApp-iOS/blob/main/LICENSE) for details.