Skip to content

santu1990/WeatherApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

50 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

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

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors