Live Website URL: ahsoftware.club
- Fork the website to your github account.
- Use Pycharm to set up the code from your github fork.
- Go to the terminal in PyCharm.
- Run
pip install -r requirements.txt
- Run run.py
- Go to the link provided. http://127.0.0.1:5000/
- Instance - Stores SQL database. It is stored in binary for efficiency, so you cannot read it without running an SQL server. You can do that in Pycharm.
- Migrations - Stores many different files used to configure/create SQLAlchemy database.
-
IMPORTANT: When changing database structure, you must run:
flask db migrateflask db upgrade
-
- Templates - Houses all HTML templates for each page that we serve to the user
- Static
- js - JavaScript files to be accessed by the HTML templates in the templates folder.
- css - Houses CSS stylesheets to be accessed by the HTML templates in the templates folder.
- Routes - Houses all URL extensions (i.e. /chatroom, /home, etc.)
- auth - /login, /logout, and /register, as well as some logic for authenticating users
- chatroom - /chatroom
- monopoly - /monopoly
- home - / and /home (same thing)
- .gitignore - Use this file to make sure not to commit your cache information when contributing
- app.py - Creates the flask application
- IMPORTANT: if creating a new route or file, you must import the file in app.py after the original import block in the second import block. This prevents circular imports (very bad things)
- config.py - Configures SQLAlchemy database
-
IMPORTANT: When changing database structure, you must run:
flask db migrateflask db upgrade
-
- extensions.py - Sets up the socketIO object (client to server & vice versa communication)
- forms.py - Stores templates for HTML forms as python code so that they can be properly authenticated (Mostly for login and registration purposes)
- models.py - Classes to be stored in the database. If new objects need to be stored they should be added here.
-
IMPORTANT: When changing database structure, you must run:
`flask db migrate` `flask db upgrade`
-
- properties.csv - A spreadsheet of all monopoly properties to be loaded into the SQL database.
- requirements.txt - A list of all required packages (see heading 2 in this README.md for usage)
- run.py - See heading 2
- wsgi.py - More socketIO configuration