Skip to content

ksalij/fsk-bridge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

drawing

fsk-bridge

Team agreement

Card back sourced from Wikimedia Commons: https://commons.wikimedia.org/wiki/File:Card_back_01.svg

Instructions

To run the Flask app, enter the command docker compose build && docker compose up while in the directory fsk-bridge/ or any subdirectory. Then, navigate to http://localhost:80/ (or type localhost) in an Internet browser to access the website.

Repository file structure

fsk-bridge/
├── README.md
│   - this README file
├── app/
│   - contains the main application logic for the server
│   ├── Dockerfile
│   │   - the Dockerfile used to build the "app" Docker container
│   ├── app.py
│   │   - the Flask server for the application (big file)
│   │   - services webpages, manages active tables, and provides API and socket endpoints to the front-end
│   ├── bridge/
│   │   - contains the game logic for playing a bridge game/table as well as the AI files
|   |   ├── AI_bidder.py
|   |   ├── AI_leader.py
|   |   ├── AI_player.py
|   |   ├── arbitrary_card.keras
|   |   ├── bid_net.keras
│   │   ├── linparse.py
|   |   ├── opening_lead.keras
│   │   ├── score.py
│   │   └── server.py (big file)
|   |       - contains all of the architecture storing the table and game info
│   ├── static/
│   │   - contains the static files served to a client by Flask (as requested)
│   │   ├── cardimages/
│   │   │   - contains the images for the card faces and card back
│   │   │   - card faces named as [value][suit] (value: 2-9 for numerals, T for 10, J for jack, Q for queen, K for king, A for ace)
│   │   ├── css/
│   │   │   - the css files for the website
│   │   │   ├── home.css
│   │   │   │   - styles home.html
│   │   │   ├── layout.css
│   │   │   │   - styles layout.html
│   │   │   ├── login.css
│   │   │   │   - styles login.html and register.html
│   │   │   ├── navbar.css
│   │   │   │   - styles the navbar (located in layout.html, present across pages)
│   │   │   └── table.css
│   │   │       - styles table.html (big file)
│   │   ├── favicon/
│   │   │   - the favicon for the website
│   │   │   └── favicon.ico
│   │   ├── js/
│   │   │   - the javascript files for the website
│   │   │   ├── chat.js
│   │   │   │   - javascript used for chat.html, allows the user to talk to other users on the website
│   │   │   │   - connects the client via a socket to the server to receive real-time updates to the chat
│   │   │   ├── color.js
│   │   │   │   - selects colors for individual users in the chat
│   │   │   ├── home.js
│   │   │   │   - redirects the user to the entered table id
│   │   │   ├── index.js
│   │   │   │   - connects the client to the socket
│   │   │   │   - used by layout.html
│   │   │   ├── login.js
│   │   │   │   - javascript used for login.html and register.html
│   │   │   └── table.js
│   │   │       - javascript used for table.html (big file)
│   │   └── otherimages/
│   │       - other images for miscellaneous uses
│   │       └── bridge-icon.svg
│   │           - used to style the login and register forms
│   └── templates/
│       - contains the html Jinja templates served by Flask
│       ├── home.html
│       │   - the home page
│       │   - allows a user to make a new table or join an existing table with a table ID
│       ├── layout.html
│       │   - the base template for all other html files on the website
│       ├── learn.html
│       │   - the learn to play page
│       ├── login.html
│       │   - the login page
│       ├── register.html
│       │   - the page where a user can register a new account on the website
│       └── table.html
│           - the page where a user plays bridge with other users at the same table (big file)
├── compose.yaml
│   - instructions to create all of the necessary Docker containers
│   - used in the `docker compose` commands
└── postgres/
    - contains files relevant to the construction and operation of the database
    - doesn't contain a Dockerfile because of how the service is integrated into compose.yaml
    └── init.sql
        - instructions for creating the tables in the database

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published