Skip to content

A mobile app designed to make soccer/football statistics and news accessible and easy to understand

License

Notifications You must be signed in to change notification settings

NativeFutbol/NativeFutbol

Repository files navigation


Logo

Your go-to app for all things related to Europe's "Big Five" Football Leagues!
View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. App Demo
  3. Getting Started
  4. Roadmap
  5. Contributing
  6. License
  7. Meet The Team
  8. Acknowledgments

About The Project

Native Futbol is a mobile app designed to make soccer/football statistics and news accessible and easy to understand. The app provides numerous graphics based on the sport's history and recent events. It also presents the user with important recent and upcoming matches in a specified league, including useful analytics on the teams in those upcoming matches. Users are able to create a "Dream Team" with their favorite players to be engaged with the sport as well! Currently, the app provides information on Europe's "Big Five" Football Leagues, but it will include more leagues in the future. The aim of this app is to make soccer data more accessible and to interest newcomers into the world of soccer while keeping them engaged.

(back to top)

Built With

Native Futbol is a mobile app created with React Native and Expo, focused on data visualization through charting technologies such as Victory and React Native Chart Kit. Guest information was stored locally with Async Storage, while registered user information was stored on Firebase's Cloud Database. Originally, D3.js was planned to be the main graphic library; however, unexpected compatibility issues with React Native arose. Exploring other options to create what was envisioned was the main lesson of this project.

(back to top)

App Demo

Home Page

On the home page, there are automatic carousel views that the user can scroll through. The top section shows information about upcoming and recent matches of a football league, which can be changed by the dropdown. Recent events are displayed at the bottom, and they can be clicked on for the user to read more about.

       

(back to top)

Predictions

The predictions tab displays upcoming matches of the selected league. Users can click on a match to gain insight on the match's outcome. Past matches between the two teams will be shown below, and performance graphs based on the teams' past performances can be viewed.

       

(back to top)

Stats

Tabs at the top of the stats tab allow the user to navigate to the category that they are interested in. Some of the screens have a search bar, which can be used to filter for the desired data. The season and league can be selected via their dropdowns, and both persist between stat pages.

   

(back to top)

Countries

Displayed is a world map, in which countries with data currently are highlighted in red. A country can be selected and deselected on the map, which zooms accordingly. The selected country appears above the map for the user to press on to be redirected. A list view of the countries is also available.

   

(back to top)

Leagues

Leagues can be pressed on to reveal the selected season's teams, which can also be pressed on to navigate to team pages. Available league stats are: team standings, top goal and assist makers, top red and yellow card receivers, and team rankings based on ranking and points.

       

(back to top)

Teams

The current squad of the selected team is displayed on a team's page. Users can view information about the team's current coach, venue, and season stats. In addition, the team can be compared to another team from any league.

       

(back to top)

Players

Players of a team's season are shown by twenty players on a page and can be filtered by the season's top performers. Demographics of a player can be viewed along with the player's performance over the years based on their position. Example statistics include minutes, rating, passes, goals and fouls.

       

(back to top)

Dream Team

Users can draft a Dream Team with their favorite players or players that they believe will do well in the season. There are a variety of basic formations to choose from. Players can be found via the filters or the search bar above the player list. Players can be removed by deselecting them on the list or field and by pressing the Reset button. Guests have access to the Dream Team feature, but their rosters are stored locally on the device.

           

(back to top)

Account

Registered users' information, including their Dream Team, is stored on a Firebase cloud database. Users can edit their demographics or Dream Team and save them to the cloud database as well. Guests can easily create an account by filling out a form, which has validation to guide them.

           

(back to top)

Getting Started

(back to top)

Installation

  1. Clone the repo.
    git clone https://github.com/NativeFutbol/NativeFutbol.git
    
  2. Switch to installed directory and install NPM packages.
    cd [DIRECTORYLOCATION]
    npm install
    
    A force installation may be needed.
    npm install -f
    
  3. Create a .env file in the root directory and enter your API keys.
    FOOTBALL_API_KEY = "[YOURAPIFOOTBALLKEY]"
    NEWS_API_KEY = "[YOURNEWSAPIKEY]"
    
  4. Start the simulation environment and follow the instructions.
    npm start
    

(back to top)

Roadmap

  • Deploy to mobile platforms
    • Apple App Store
    • Google Play Store
  • Include data on more leagues
  • Add Fantasy Football experience
    • Scoring system for Dream Team performance
    • Ability to make and share games for friends to join
  • Add Google Maps to Team Venue screen
  • Add Google authentication to Login/Register
  • Add forget password feature
  • Explore D3.js for more advanced graphics

See the open issues for a full list of proposed features (and known issues).

(back to top)

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.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Meet the Team

Connor Choi Alexis Jimenez Fei Li Kevin Liang
Connor Choi Alexis Jimenez Fei Li Kevin Liang
Github Github Github Github
- LinkedIn LinkedIn LinkedIn

Project Link: Native Futbol

(back to top)

Acknowledgments

The data used in this app was provided by the APIs below:

(back to top)

About

A mobile app designed to make soccer/football statistics and news accessible and easy to understand

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •