Skip to content

This project is a basic authentication (login) system developed in Swift 6, using the MVVM-C (Model-View-ViewModel-Coordinator) architecture. The Weather Forecast App is configured with XcodeGen and includes support for unit testing, interface testing, and snapshot testing.

License

Notifications You must be signed in to change notification settings

jovitorneves/WeatherForecastApp

Repository files navigation

Weather Forecast App - Swift 6

This project is a basic authentication (login) system developed in Swift 6, using the MVVM-C (Model-View-ViewModel-Coordinator) architecture. The Weather Forecast App is configured with XcodeGen and includes support for unit testing, interface testing, and snapshot testing. Below are the installation instructions and a description of the main technologies and features implemented.

Table of Contents

Requirements

Before starting, make sure you have the following requirements installed:

  • Xcode (Version 16.0 or higher)
  • macOS (Version 15 or higher)
  • Swift 6
  • XcodeGen For project generation.

Technologies Used

Screens

SignInAndSignUp Dashboard

Test

TestsCoverage TestsCoverage_2

UITest

TestsCoverage

Features Implemented

  • Dashboard: Displaying the weather forecast.
  • Login with Email and Password: Local credential validation and server integration.
  • Simple and Functional Interface: Minimalistic design using UIKit.

Folder Structure

WeatherForecastApp
│
├── WeatherForecast
│   ├── Assets
│   │
│   ├── Classes
│   │
│   └── Tests
│
├── WeatherForecast-Sample
│
├── WeatherForecastUITests 
│

Installation

Using XcodeGen

1. Install XcodeGen (if you haven't already):

brew install xcodegen

2. Clone the Repository

git clone https://github.com/jovitorneves/WeatherForecastApp.git

3. Generate the Xcode project

xcodegen

4. Open the Project in Xcode

Navigate to the directory where you cloned the project and open the .xcworkspace file in Xcode.

open WeatherForecast.xcworkspace

5. Run in Simulator or Device

In Xcode, select the target (simulator or physical device) and click the Run button (play icon) to build and run the application.

Troubleshooting

If you encounter a "permission denied" error while running xcodegen, it may be due to insufficient permissions for the current user. Here are a few solutions to resolve this issue:

  1. Check File Permissions: Ensure that you have the correct permissions for the project directory. You can change the permissions by running:
chmod 755 scripts/{change_to_file_name}.sh

Versioning

This project follows semantic versioning:

  • v1.0.0: Initial release with basic login functionality.

Contributions

Contributions are welcome! Feel free to open issues or pull requests.

How to Contribute

  1. Fork the project.
  2. Create a new branch (git checkout -b feature/new-feature).
  3. Commit your changes (git commit -m 'Add new feature').
  4. Push to the branch (git push origin feature/new-feature).
  5. Open a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

This project is a basic authentication (login) system developed in Swift 6, using the MVVM-C (Model-View-ViewModel-Coordinator) architecture. The Weather Forecast App is configured with XcodeGen and includes support for unit testing, interface testing, and snapshot testing.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published