A Python and Django tennis racket stringing app
I string tennis rackets, both for myself and for friends and teammates. This webapp manages the rackets I string by:
- tracking customers and their orders
- maintaining a database with rackets and strings (shamelessly scraped from Klipper USA and Tennis Warehouse University)
- cataloging all pertinent order information in one place (strings + tension to use, string pattern of racket, due date, etc)
git clone https://github.com/rbennett91/racket_stringer.git
In the top-level of the code repository:
python3 -m venv venv
source venv/bin/activate
pip install -r requirements/development.txt
This project uses environment variables to manage sensitive information like the database connection and Django's SECRET_KEY
. Create an environment variable file by copying the included template:
cp racket_stringer/settings/app.env.example racket_stringer/settings/app.env
Do not add sensitive information to the template.
Instead, open the new racket_stringer/settings/app.env
with your favorite text editor, and fill out the missing values. Then, source the app.env
file:
source racket_stringer/settings/app.env
Note that you'll need to re-source this file if you make changes to it. This file should be kept out of source control, and it is included in this project's .gitignore
. Moving or renaming this file will require an update to .gitignore
to keep it out of source control.
python manage.py migrate
Use the custom Django Management Commands to add new rackets and strings to the database:
python manage.py import_rackets
python manage.py import_strings
python manage.py createsuperuser
python manage.py runserver_plus 0.0.0.0:8080
Visit http://localhost:8080/racket_stringer in your web browser and login with the newly created user.
- Python 3.9.5
- SQLite3
- Setting up Django and your web server with uWSGI and nginx
- Deploying Django applications in production with uwsgi and nginx
- How To Secure Nginx with Let's Encrypt on Ubuntu 20.04
MIT