Skip to content

Commit

Permalink
added first content to the readme
Browse files Browse the repository at this point in the history
  • Loading branch information
vespinola committed Jun 29, 2024
1 parent d25327a commit ca822d2
Showing 1 changed file with 46 additions and 1 deletion.
47 changes: 46 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,46 @@
# mobile-courier-app
# JustACourierApp

JustACourierApp is an example project to demonstrate the skills I learn along the way working with multiple teams in this 8 years as an iOS Engineer.

## Project Focus

- **Dependency Injections**
- **Navigation with Coordinator**
- **SwiftUI** (custom styles, modifiers)
- **Clean Architecture** (presentation, domain, data, and app layer folders)
- **CI with GitHub Actions** (jobs for unit tests, UI tests, and Swiftlint linter)
- **UI Automation with XCUITest** (using POM Pattern)
- **Unit Tests with Doubles**
- **Dependency Management with SPM**(I am little tire of using **Cocoapods** 😃)

## Features

1. **Dependency Injection**: Implements a flexible and testable architecture with Containers(actually one container).
2. **Navigation Coordinator**: Manages navigation flow in a clean and organized way.
3. **SwiftUI**: Utilizes custom styles and modifiers for a modern UI.
4. **Clean Architecture**: Separates the project into presentation, domain, data, and app layers. The next step is to create differents repositories for each layer.
5. **Continuous Integration**: Uses GitHub Actions to automate unit tests, UI tests, and Swiftlint checks.
6. **UI Automation**: Employs XCUITest with the Page Object Model (POM) pattern for robust UI testing.
7. **Unit Tests**: Includes unit tests with doubles for thorough testing coverage.

## Getting Started

To get a local copy up and running, follow these simple steps:

### Prerequisites

- Xcode 15.4 or later
- Swift 5.3 or later

### Installation

1. Clone the repository: `git clone https://github.com/vespinola/mobile-courier-app.git`
2. Open the project in Xcode: `cd mobile-courier-app` and then `open mobile-courier-app.xcodeproj`

## Usage

Build and run the project using Xcode. The app simulates a shipment courier service with various functionalities to demonstrate the above-mentioned skills.

## Contributing

Contributions are welcome! Feel free to open an issue or submit a pull request.

0 comments on commit ca822d2

Please sign in to comment.