Authors: Nataly Chan, Xiangru (Dorian) Lin, Brian Mack, Juri Okamoto, Owen Sweetman
Demo Video: ttps://youtu.be/PM-U5CtSsxo
The Bach-End Database is a centralized data platform designed for Join U, streamlining access to detailed information and analytics for every role within the university. By consolidating data into a single, unified system, it eliminates the inefficiencies of current decentralized solutions, where information is stored in separate systems that make cross-departmental analysis slow, tedious, and incomplete.
Unlike existing tools, the BachEnd Database connects related datasets and provides both high-level overviews and granular insights, ensuring that important lower-level details aren't overlooked. This comprehensive approach enables faster, more informed decision-making across the institution.
The system supports a diverse range of users, including the university president, college deans, professors, students, and maintenance staff. All users can access role-specific dashboards and analytics from the same interface, reducing digital clutter and simplifying workflows.
- The university president can compare academic performance and resource usage across colleges.
- Students can easily view grades, enrollment information, and course details.
- Maintenance staff can track work orders, monitor room usage, and prioritize tasks efficiently.
By integrating these perspectives into one platform, the Bach-End Database empowers the university to identify trends, address problems promptly, and improve overall institutional performance.
- Docker and Docker Compose installed
- Git
- A code editor (VS Code recommended)
- Clone the repository from github
- Set up the env file Under the api section, find .env.template file. Fill in your secret key and password for the databse. Change the file name to .env
- Start the docker containers: see following section for guide!
Basic container setup/turn-down: In VSCode, TERMINAL, type in
docker compose up -dto start all the containers in the backgrounddocker compose downto shutdown and delete the containersdocker compose up db -donly start the database container (replace db with api or app for the other two services as needed)docker compose stopto "turn off" the containers but not delete them.docker compose restartto restart all containers
Once the containers are running...
In browser, put in "localhost:8501", press enter, and access the app!
This project uses:
- Database: MYSQL
- Backend API: Flask
- Frontend: Streamlit
- Containerization: Docker
For more information about each part, refer to the README in individual sections.