RapidScore
Screenshots
Table of Contents
- Description
- Dependencies
- API Reference
- Lessons Learnt
- Contributing
- Roadmap
- Google Playstore
- License
- Author Info
Description
- A simple football stats and live-score Android app
- A user can select a league they want to view the league table, top scorers and also be updated on the live-scores in realtime
- User can be able to select to see upcoming matches for a given day
- Project was completed with MVVM architecture and following android app architecture using Retrofit , Coroutines and Navigation components
Dependencies
- Coroutines
- Retrofit
- Navigation components
- Glide
- GlideVectorYou
API Reference
Get upcoming matches
GET /api/v1/soccer/matches
Parameter | Type | Description |
---|---|---|
apiKey |
string |
Required. Your API key |
seasonId |
string |
Required.League Id e.g Premier League |
dateFrom |
string |
Required. |
dateTo |
string |
Required. |
Get League Table
GET /api/v1/json/1/lookuptable.php
Parameter | Type | Description |
---|---|---|
l |
string |
Required. League Id e.g 1980 for Premier League |
s |
string |
Required. League Season Id e.g 2021-2022 |
Get Top Scorers
GET /api/v1/soccer/topscorers
Parameter | Type | Description |
---|---|---|
l |
string |
Required. League Id e.g 1980 for Premier League |
s |
string |
Required. League Season Id e.g 2021-2022 |
Lesssons Learnt
-
Always perform heavy tasks like local database and network operations on the background thread. This is to prevent blocking the main thread, I used Retrofit for network operation in support of Coroutines to perform the task in the background thread.
-
Navigation components made it easy for me to build my app's navigation system. Learnt best practices like having one activity and multiple fragments that can be swaped in and out of the fragment container, this improved app responsiveness since fragments are lightweight
-
Learnt how to create UI designs on Figma this really came in handy since without me knowing I was always thinking on the architecture of the app and how the data will flow
Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Roadmap
Intergrate offline caching using Room local database
Add multiple leagues like La Liga, Serie A(Ligue 1 now intergrated in version 1.1.1)
Google Playstore
License
Author Info
- Twitter - @BreensR
- Linkedin - LinkedIn: Breens Mbaka