Skip to content

iOS app for football fans to explore clubs, listen to official chants, and manage favorite players. Built with Swift (MVVM) and UIKit Programmatic UI for a high-performance, seamless experience.

Notifications You must be signed in to change notification settings

hashimsaffarini/FootballChants

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

App Logo

⚽ Football Chants – iOS Native App

A modern, high-performance football fans application built using Swift and UIKit. Moving beyond Storyboards, this project implements a full Programmatic UI approach combined with the MVVM Architecture to ensure scalability, maintainability, and smooth user experience.


πŸ—οΈ Architecture & System Design

The project is structured using the MVVM (Model-View-ViewModel) pattern, separating business logic from UI components for cleaner code and better testability.

πŸ“‚ Directory Structure

  • Core (Controllers): Managing the lifecycle of views (TeamsVC, PlayersVC, FavoritesVC).
  • ViewModels: Handling data preparation and business rules (The "Brain" of the app).
  • Models: Defining data structures for Team and Player objects.
  • Managers: Centralized services like FavoritesManager and NotificationCenter extensions.
  • Views: Reusable custom UI components and cells built entirely in code.
  • Resources: Managing assets, colors, and localizations.

πŸš€ Key Technical Features

  • Programmatic UI: 100% built with code using Auto Layout (No Storyboards/XIBs).
  • Advanced CollectionViews: Utilizing UICollectionViewDiffableDataSource for efficient, crash-free data management and native animations.
  • Optimized Image Caching: Integrated Kingfisher with DownsamplingImageProcessor and shadow rasterization to maintain a buttery-smooth 60 FPS scrolling.
  • Local Persistence: Custom management for favorite players using lightweight local storage.
  • Reactive UI Updates: Leveraging NotificationCenter to synchronize state across multiple tabs (e.g., updating Favorites when a player is added).
  • Audio Integration: Seamlessly playing team chants using AVFoundation.

πŸ“± App Preview

🏟️ Explore Teams & Chants

Browse through legendary football clubs and feel the stadium atmosphere with high-quality chants.

Team List Audio Player

πŸƒβ€β™‚οΈ Squads & Personal Favorites

Modern grid layouts to view player details and manage your personal favorite squad.

Player Squad Favorite Players

πŸ› οΈ Installation

  1. Clone the repo:
    git clone [https://github.com/hashimsaffarini/FootballChants.git](https://github.com/hashimsaffarini/FootballChants.git)

About

iOS app for football fans to explore clubs, listen to official chants, and manage favorite players. Built with Swift (MVVM) and UIKit Programmatic UI for a high-performance, seamless experience.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages