HomeMongoDB for AcademiaStudent Spotlights

Go-FIFA

Share

GoFifa - A comprehensive soccer stats tracker.

#About the project

GoFifa is a PHP-Mongo based Football Stats Client. GoFifa's data has been sourced from Kaggle, Sofifa and FifaIndex. Data has been stored in MongoDB on AWS. The application is hosted on Heroku and deployed using GitHub as a VCS.

https://mongodb-devhub-cms.s3.us-west-1.amazonaws.com/About_Player_197f661a40.png

#Inspiration

The project was part of my course called ‘knowledge representation techniques.’ The assignment was to create a project that used the basic features of MongoDB. Together with my teammate, we decided to make the best use of this opportunity. We thought about what we could do; we needed proper structured and useful quality data, and also supported the idea behind MongoDB. We went to a lot of sites with sample data sites.

We went for soccer because my teammate is a huge soccer fan. We found this sample data, and we decided to use it for our project.

#Why MongoDB?

As mentioned briefly, we were asked to use MongoDB in our project. We decided to dive deeper into everything that MongoDB has to offer. This project uses the most known querying techniques with MongoDB, and other features like geodata, leaflet js, grid fs, depth filtering, mapping crawled data to MongoDB, and references, deployment, etc. It can prove to be an excellent start for someone who wants to learn how to use MongoDB effectively and a rest client on top of it.

https://mongodb-devhub-cms.s3.us-west-1.amazonaws.com/Geo_Near_Querying_e22f3942e4.png

#How it works

GoFifa is a web application where you can find soccer players and learn more about them.

All in all, we created a project that was a full-stack.

First, we started crawling the data, so we created a crawler that feeds the data into the database as chunks. And we also use the idea behind references. When querying, we also made sure what we were querying with wildcards next to the normal querying.

We wanted to create a feature that can be used in the real world. That’s why we also decided to use geo queries and gridFS. It turned into a nice full-stack app. And top it off, the best part has been that since that project, we’ve used MongoDB in so many places.

#Challenges and learnings

I (Nirbhay) learned a lot from this project. I was a more PHP centric person. Now that's not the case anymore, but I was. And it was a little difficult to integrate the PHP driver at the time. Now it's all become very easy. More and more articles are written about bothered about all those codes. So it's all become very easy. But at that time, it wasn't easy. But other than that, I would say: the documentation provided by MongoDB was pretty good. It helps understand things to a certain level. I don't think that I've used all the features yet, but I'll try to use them more in the future.

Tools Used
  • Atlas
  • MongoDB
  • PHP
  • Python
  • JavaScript
View CodeLive Demo
Created By

Explore more Student Spotlights

Database Development for Dog Care Providers (DCP)

Learn MongoDB by creating a database for dog care providers!

Chember

Instantly find the streetball game you are looking for anytime and anywhere with Chember!

Hostels Kenya

Find hostels and student apartments all over Kenya

MergeURL

Shorten multiple URLs instantly while overcoming the barriers of user registration.

See All

Have an interesting MongoDB project to share? Let us know!

Show off your project
Backpack with GitHub logo plus MongoDB leaf

Get excusive student access to MongoDB Atlas, University on-demand content and certifications.

Students can apply for the GitHub Student Developer Pack and get access to MongoDB Atlas, University on-demand content and certifications.

GitHub Student Developer Pack
MongoDB Icon
  • Developer Hub
  • Documentation
  • University
  • Community Forums

© MongoDB, Inc.