Git Product home page Git Product logo

bridgeapp's Introduction

BridgeApp

By Evan Sawyer, Corey Reinholdtsen, and Alex Carney.

Requirements

Python

Python is required to run the frontend application, as well as the scripts for data acquisition and conversion. You can download Python here. After installing Python, make sure that the following libraries are installed. Command line arguments for installation are listed for each requirement.

  • MySQL Connector for Python: pip install mysql-connector-python
  • pandas: pip install pandas
  • requests: pip install requests
  • BeautifulSoup: pip install beautifulsoup4

MySQL

The backend database for the application is run on MySQL. Installing MySQL Workbench is recommended as well. The rest of this guide will assume you are using MySQL 8.0 Community Server or later, and MySQL Workbench 8.0 CE. You can download MySQL here by selecting "MySQL Community Server", and you can download MySQL Workbench at the same link by selecting "MySQL Workbench".

Installation/Setup

Setting up the database

If you are connecting to an instance of the database that is already set up, you can skip to "Connecting the frontend". Otherwise, there are two ways to create the database: creating the schema and inserting the data manually, or creating the schema and inserting the pre-acquired data via the same .sql file.

Inserting data automatically

To insert data from the provided sql dump, open the database using MySQL Workbench, then open a new query tab and select "SchemaAndDataDump.sql" from this repository's mysql directory.

Inserting data manually

To insert data manually, first create the schema by executing "SchemaOnlyDump.sql" from this repository's mysql directory, following the instructions from "Inserting Data Automatically". After creating the schema, consult the README in the data directory for details on the data insertion process.

Connecting the frontend to the database

To connect the frontend application to the database, open "db_config.json" in the app directory, and change the fields to the appropriate values corresponding to your database (Ex. "host": "localhost", "user": "admin", "password": "password"). These values should correspond to a user in your MySQL database.

Starting the app

To start the application, navigate to the app directory and run the command py interface.py.

bridgeapp's People

Stargazers

 avatar  avatar

Watchers

 avatar

bridgeapp's Issues

Suit distribution issue

When a hand has over 9 it exceeds the char(4) constraint. We can drop this and get length of attribute in hand entity.

Task: drop column SuitDistribution, update table creation script and sql queries to reflect change

LinParser Full Pass Issue

If a entire table passes it is referred to as PASSED OUT. No opening bid or tricks are made. Happens in about <5% of plays. May not be passed in both rooms. Enter the info as NULL.

Mysql CSV import missing teams

When importing team.csv into the database a few entities get dropped. After reviewing the log file, we only notice the correct removal of duplicate teams but no mention of missing teams. This list of entities is very small but presents some issues with foreign key interaction. We plan on removing the teams entity or investigating the issue future.

Table ID Desync

If a board in a .lin file has only one table, table ID's can become desynchronized, leading to repeated bid phases and inaccurate table pairings.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.