* The starter code should produce a histogram visualization (a bar chart with numeric x-axis).
* The attribute being visualized can be controlled by clicking on a given button representing the attribute name (example: `Release\_Date`).
* The histogram can be filtered along the x-axis using a given range slider, to control what range of data values are counted
* The number of bins rendered in the histogram can be controlled using a given total bins slider.
A1 Goals:
* The goal of A1 is to translate the histogram binning and aggregation from the browser to the server.
* Students need to install PostgreSQL and get it running on their computer.
* The majority of the computation in `index.html` needs to happen in the DBMS PostgreSQL
* see the `index.html` file and `server.py` file for more instructions.
Notes:
* Students may have to make some modest edits to the button, slider, and histogram visualization code to accept pre-computed data from the server.
* Assignments that do what is asked will get an A- (but given this is more of a training assignment, and a brand new assignment, we may be more lenient on the grading).
* Given that this assignment is largely a training exercise, it's okay to have code that is a bit messy. However, code quality will be considered when determining if a submission has gone "above and beyond" for grading purposes (i.e., to go from A- to A level).
Grading points (what we will be prioritizing in our grading):
* Can we run the code on our computers with no additional work (except setting up the given username and database for postgresql)?
* Was all computation translated to `server.py`?
* Was all aggregation translated to PostgreSQL queries? (it is ok to calculate bin ranges outside of PostgreSQL, if necessary)
* Was `index.html` updated appropriately to take pre-computed results from the server, instead of the raw data?
* i.e., was the hardcoded fetch request for `movies.csv` replaced with new fetch calls for query results?
* How neat/organized is the submitted code?
Extras (going into A+ territory, only consider doing these if the points above have been addressed):
* Was there any additional improvement made to the interface? (examples: axis titles, filter slider not reset when bin slider is updated, proper datetime parsing/handling, etc.)
Submission instructions:
* make sure your submission is SELF CONTAINED in a single folder
* to test, make a copy of your submission in a completely different location on your computer
* try running the copy (if it breaks, you know you were relying on hardcoded files/file paths/parameters somewhere in your submission)
* make a separate file called `cmsc828d\_submission.md`
* include your name and email in `cmsc828d\_submission.md`
* Include any notes/rationale/general comments regarding your A1 submission in `cmsc828d\_submission.md`