Skip to content

MySports is an event creation platform specifically aimed to match users into teams for various sports. Users are matched based on search criteria and filters.

Notifications You must be signed in to change notification settings

faketechlabsberlin/My-Sports

 
 

Repository files navigation

MySports

MySports is the final group project which was created in order to complete the Berlin TechLabs Bootcamp. The team disciplines included UX/UI design, Web Development, and Data Science. All disciplines were put into practice to develop MySports. MySports is an event creation platform specifically aimed to match users into teams for various sports. Users are matched based on search criteria and filters and then are able to communicate in an integrated event chatroom to discuss details. A deployed version can be found here:

https://blooming-ridge-65166.herokuapp.com/login

Screenshots

Screenshot 2021-02-01 at 15 34 52Screenshot 2021-02-01 at 15 38 02Screenshot 2021-02-01 at 15 39 19Screenshot 2021-02-01 at 15 38 34Screenshot 2021-02-01 at 15 39 44

Project Status

The project is still in production. MVP restrictions include:

  • Event location is restricted to popular Berlin districts.
  • Event type list is restricted to Basketball, Volleyball, Football, Running, Yoga, Table-Tennis, and Bouldering.
  • Data Science matching and optimization added but not implemented yet.

The aim is to remove all mentioned restrictions as future versions are produced.

Installation and Setup Instructions

Clone down this repository. You will need node, and npm/yarn installed globally on your machine.

Installation:

npm install cd my_sports_front yarn

Run:

node index.js

Open a new terminal tab and then:

cd my_sports_front yarn start

Please make sure to have MongoDB installed to run locally. Default local port for mongo is 27017.

To Visit App:

localhost:3000/login

UX/UI Prototype

Ideation Session: https://miro.com/app/board/o9J_lbXvb6I=/

Figma Prototype: https://www.figma.com/proto/f1xKrE8iHwOKpr0qSLL2fb/MYSports-Prototype?node-id=541%3A307&viewport=1190%2C709%2C0.060248423367738724&scaling=scale-down

Figma Link: https://www.figma.com/file/f1xKrE8iHwOKpr0qSLL2fb/MYSports-Prototype?node-id=487%3A4363

Data Factory

Since the project My-Sports itself is not a traditional Data Science project, some improvisation was required. While help with structuring the Database in the backend was imperative, there were no real usage data to handle. As the app/website would be set up from scratch with no real users or other (external) datasets it was decided to set up a fake user-database. Based on this you will find python code for imaginary events with the ultimate goal in mind to have a matching algorithm to match users with the type of (sports)events that would be interesting for them.

Prerequisites

Before you continue, ensure you have met the following requirements:

  • You have installed the latest version of Python.
  • You have installed the necessary modules datetime, random, names, pandas, matplotlib and seaborn.

There are four runnable python scripts, namely user_gen.py, event_gen.py, stats.py and reco.py.

The first one to execute is user_gen.py, as it serves as basis for the other two scripts. Its output is a dataframe of fake users which is dependent on the number you type in and confirm as the programme asks: Select a number of fake user you want to generate: Do enter a number and confirm with enter. The output is created in csv and json format within the same folder.

The second script event_gen.py reads the csv file created by user_gen.py. It works quite similar to the first script. You will again have to type in the number of events you want to generate. Note: The input can not extend the number you typed in for user_gen.py. The output is again a dataframe which is exported in csv and json format (same folder).

The third script, stats.py, lets you visualize the distribution of male and female fake users generated as well as their respective height and weight.

Reco.py generates recommandations of best active games. It works by generating a matrix with a row for each user and the best available active game in each columns. Please note that this last script is not complete yet.

Technologies Used

The technologies implemented in this project include Figma, Express, Node, Python, React, Redux, MongoDB, Nodemailer, Socket.io, PassportJS, Axios, MomentJs, Bootstrap, and SCSS.

Contributors

  • Alex Neuschäfer - UX/UI Design
  • Ashneil Sakhrani - Web Development / Project Lead
  • Barney Riley - UX/UI Design
  • Cátia Goncalves - Web Development
  • Jan-Henrik Pott - Data Science
  • Kwame Agard - Web Development *
  • Samy Bouras- Data Science

About

MySports is an event creation platform specifically aimed to match users into teams for various sports. Users are matched based on search criteria and filters.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 83.6%
  • SCSS 11.6%
  • Python 3.5%
  • HTML 1.3%