Skip to content

nokia-wroclaw/innovativeproject-competitive-teams

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Competitive Teams Main build status

https://competitive-teams.herokuapp.com

Description

The goal of this project was to create a web application that lets users create/join teams and helps them host tournaments or matches between those teams. It allows for easy tournament matchup generation in round-robin, swiss, and single-elimination style tournaments while providing a convenient way to keep track of their results.

Website screenshot Website screenshot

Technologies

Main technologies used in the development of this project:

  • Frontend: React, Ant Design, G6, React Router, React Query, Axios, Firebase
  • Backend: FastAPI, SQLAlchemy, Pydantic, PostgreSQL
  • Deployment: Travis CI, Docker, Heroku

Running the development servers

We've provided a simple bash script for starting and combining the outputs of both servers. To run the servers locally:

  1. Create and configure a new Google Firebase project.
  2. Export the environmental variables from your Google Firebase project and place them in the frontend/.env.localfile with the following syntax:
    • REACT_APP_FIREBASE_KEY=apiKey
    • REACT_APP_FIREBASE_DOMAIN=authDomain
    • REACT_APP_FIREBASE_DATABASE=projectId
    • REACT_APP_FIREBASE_PROJECT_ID=storageBucket
    • REACT_APP_FIREBASE_STORAGE_BUCKET=messagingSenderId
    • REACT_APP_FIREBASE_SENDER_ID=appId
  3. Configure and start your PostgreSQL server.
  4. Replace the DATABASE_URL variable inside the run-dev.sh script with your PostgreSQL database URL.
  5. If you'd like to change the default development server ports, make sure to update the REACT_APP_BACKEND_URL variable inside the run-dev.sh script afterwards.
  6. Install frontend packages with npm install in the frontend directory
  7. Create a python venv with python -m venv env in the backend directory
  8. Activate the venv with source ./env/bin/activate in the backend directory
  9. Install backend packages with pip install -r requirements.txt in the backend directory
  10. Deactivate the venv with deactivate in the backend directory
  11. Start the run-dev.sh script.