Skip to content

MelnikovAleksandr/GoalPulseIOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

39 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

⚽ GoalPulse

Modern Football App β€’ Multi-Module β€’ Offline First


πŸš€ About

GoalPulse is a modern iOS application built with a clean multi-module architecture*

*Multi-module architecture was implemented for one reason only β€” to gain hands-on experience with this approach.

Simple. Scalable. Maintainable.


πŸ”‘ API keys

For the application to work correctly, you need to create a configuration file with API keys as shown in the images below:

screen1 screen2 screen3

You can obtain free API keys by registering at the following services:

Service Registration Link Purpose
⚽ Football-Data.org https://www.football-data.org/client/register Live scores, matches, and football data
πŸ“° NewsAPI https://newsapi.org/register Football news and articles

✨ Core Features

  • ⚑ Fast network layer
  • πŸ’Ύ Offline mode β€” data available without internet
  • 🎨 Dynamic background based on team dominant color
  • 🧊 Modern Liquid Glass design
  • πŸ“± iOS 18 supported
  • 🌍 Russian language supported
  • πŸ–‹ Custom fonts for unique typography
  • 🎨 Light & Dark theme color sets

🧱 Architecture

Clean dependency flow:

Presentation β†’ Domain β†’ Data

Each module is isolated and independent.


πŸ›  Tech Stack

  • Alamofire β€” networking
  • Realm β€” local database
  • SDWebImage β€” SVG loading
  • DCLib β€” dominant color extraction
  • Swinject β€” dependency injection

πŸ’Ύ Offline First

All data is cached locally.

No internet β†’ data still available.


πŸ“Œ TODO & Roadmap

What's Coming Next

Making GoalPulse even better, one step at a time

Priority Task Description
πŸ”΄ HIGH ⚑ Optimize SVG Loading Current SVG image loading solution is too slow and resource-intensive. Need to implement a more efficient caching mechanism or alternative library.
🟑 MEDIUM πŸ”„ Football API v5 Integration Waiting for the upcoming Football API v5 release, which will finally support proper head2head matches functionality.
🟒 LOW ⭐ Favorite Teams Feature Add ability to mark teams as favorites and get personalized notifications, quick access, and custom views for followed teams.

Have a suggestion? Feel free to open an issue or contribute!


πŸŽ₯ Videos

Demo Videos

Simulator.Screen.Recording.-.1.mp4
Simulator.Screen.Recording.-.2.mp4
Simulator.Screen.Recording.-.3.mp4
Simulator.Screen.Recording.-.4.mp4
Simulator.Screen.Recording.-.5.mp4
Simulator.Screen.Recording.-.6.mp4
Simulator.Screen.Recording.-.7.mp4
Simulator.Screen.Recording.-.8.mov
Simulator.Screen.Recording.-.9.mp4
Simulator.Screen.Recording.-.11.mp4
Simulator.Screen.Recording.-10.mp4

Clean architecture. Modern UI. Smooth experience.