Read the Documentation for information on how to get started.
- Logic: Python3
- API Framework: Flask
- Templates: Jinja2
- Structure: HTML5
- Styling: CSS3
- Database: MongoDB
- Graphs: Altair
- Machine Learning: Scikit
- Hosting: Heroku
- HTML Templates
- CSS Styles
- API Framework
- Miscellaneous Helper Files
- Sprint Specific Documentation
/
: Splash Page/data
: Tabular Data/view
: Dynamic Visualizations/model
: Interactive Machine Learning Model
For best results, complete each sprint in order, before going on to the next sprint.
- Sprint 1: Database Operations
- Develop a database interface class
- Create random data
- Populate the database with at least 1000 datapoints
- Sprint 2: Dynamic Visualizations
- Notebook exploration
- Chart function
- API integration
- Sprint 3: Machine Learning Model
- Notebook exploration
- Machine Learning interface class
- Model serialization (save and open)
- API model integration
- Use ElephantSQL instead of MongoDB
- Use Plotly instead of Altair
- Use PyTorch instead of Scikit
- Use FastAPI instead of Flask
- Add the ability for the user to reset & reseed the database
- Add the ability for the user to re-train the machine learning model
- Add the ability for the user to download a working serialized model and dataset
- Add authentication to sensitive pages
- Use a different set of features to train the model
- Use your own dataset entirely
- Windows users should not use the
run.sh
shell script, as it depends on gunicorn. - Windows users should use
py -m app.main
to start the app with Flask acting as the server. - Windows users may need to download the wheel for fortuna dependency. and follow its README
- Mac and Linux users can use
./run.sh
script or type the command directlypython3 -m gunicorn app.main:APP
. - Feel free to modify the shell scripts to suit your needs, these are intended to run locally.
- In any case you should not modify the Procfile, this is the run script for the remote server.