Modern Football App β’ Multi-Module β’ Offline First
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.
For the application to work correctly, you need to create a configuration file with API keys as shown in the images below:
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 |
- β‘ 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
Clean dependency flow:
Presentation β Domain β Data
Each module is isolated and independent.
- Alamofire β networking
- Realm β local database
- SDWebImage β SVG loading
- DCLib β dominant color extraction
- Swinject β dependency injection
All data is cached locally.
No internet β data still available.
| 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. |
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.

