You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A role-based portfolio and trading intelligence platform built with Streamlit, Flask, and MySQL. Users log in as one of four personas and get a tailored dashboard with persona-specific features and data.
# Start all containers (first run builds images)
docker compose up -d
# Rebuild images after code changes
docker compose up --build -d
# Stop and remove containers
docker compose down
# Reinitialize the database (wipes all data and reruns SQL files)
docker compose down db
docker volume rm project-app-team-repo_mysql_data
docker compose up db -d
# View logs
docker compose logs api
docker compose logs app
docker compose logs db
Development Notes
Hot reload: Streamlit and Flask both reload automatically on file save. Click Always Rerun in the Streamlit browser tab.
Database init: SQL files in database-files/ run once in alphabetical order when the container is first created. Restarting the container does NOT re-run them — you must wipe the volume.
Authentication: Persona selection is mocked. There are no real passwords. This is a course project demonstrating role-based access patterns.