### TODO: get all this inside a docker container and use compose to do the whole set (pg, flask, ?) # flask -> python web server # sqlalchemy -> provides db-agnostic python objects of db content (and more) # flask-sqlachemy combines/wraps this to provide a db.* set of objects based on the 'app' that flask creates # marshmallow-sqlachemy provides a way to create a 'schema' of your class, then serialize an object to it # flask-wtf -> 'what the form' allows form consistency/validation based on defining attributes in a class for each form # flask-bootstrap -> allows me to format that wtf form with boostrap markup - yet to test if it also means I don't need to include it exlicitly in head, etc. # install needed binaries (maybe I could have done this instead of pip below too -- when I docker this shit, sort it out?) sudo apt install python3-pip python3-psycopg2 libpq-dev ### LEARN: supposedly could use virtualenv instead of pip3 install --user? OR even apt to install direct? # --user sticks python libs in ~/.local/[bin|lib|share] pip3 install --user flask sqlalchemy flask-sqlalchemy flask-marshmallow SQLAlchemy-serializer flask-wtf flask-bootstrap marshmallow-sqlalchemy # run the web server by: python3 main.py ### TODO: - fix up lame book linkages to tabels that are so not 3nf, *_LST tables, etc. - consider getting rest of Book class connected, e.g. series, loan, etc. - see if we can break this out of main.py -- can't recall what was circular about this, but at least the wtf bits seem to be able to be moved out, so why not do that - get main.html to be some sort of include so that other htmls, can be clicked on / use back button, reload, etc. and it all works, but the whoel thing feels like a discrete app