Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

50 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

WeatherApp

Build and Test WeatherForecast

WeatherForecast iOS App

📌 Overview

WeatherForecast is a SwiftUI-based iOS application that provides real-time weather updates. The project follows CLEAN Architecture principles, ensuring a scalable and maintainable codebase.

🎯 Features

🌦️ Real-time weather updates for any location

📍 Location-based forecasts using CoreLocation

📍 Search functionality to check weather for any city

🧑‍💻 Fully configured CI/CD pipeline with SwiftLint & Unit Tests

🔗 Pipeline badge showing the latest build status

🎨 SwiftUI-based modern UI

🏗️ CLEAN Architecture for maintainability

✅ CI/CD pipeline with automated tests and linting

📊 Code coverage reports for test validation and report generation for better code quality.

🏗 Architecture

This project follows CLEAN Architecture, separating concerns into:

Presentation Layer: SwiftUI views & ViewModels

Domain Layer: Use cases and business logic

Data Layer: Repository pattern for API interactions

⚙️ Setup & Installation

Prerequisites

macOS with Xcode installed (latest recommended)

Swift 5+

Steps

Clone the repository:

Install dependencies (if any): NA

Open the project in Xcode:

Run the app on a simulator or real device:

🚀 Continuous Integration (CI)

The project includes a CI pipeline configured with GitHub Actions:

✅ Automated builds on push & PR

✅ SwiftLint enforcement

✅ Unit tests execution

✅ Code coverage reports

Running CI Locally

To simulate the CI pipeline locally:

🔍 Code Quality & Linting

Uses SwiftLint for enforcing Swift style guidelines.

Run linting manually:

📜 Testing

The app includes unit tests for business logic.

Run tests manually via:

Generate code coverage reports:

📜 Future Enhancements

🔄 Implement CD for App Store/TestFlight deployment

🌐 Multi-language support

📱 iPad version with adaptive UI

📊 Historical weather data visualization

Issues & Feedback

For any issues, suggestions, or feature requests, please visit the GitHub Issues Page 🚀

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages