TODO (pull from final report?)
- Python 3.10+
- Node.js 18+
- MySQL 8.0+
git clone https://github.com/swu955/biotrack.git
cd biotrackCreate and activate a virtual environment:
macOS/Linux:
python3 -m venv .venv
source .venv/bin/activateWindows:
python -m venv .venv
.venv\Scripts\activateInstall dependencies:
pip install -r backend/requirements.txtCreate a .env file inside the project root directory:
DATABASE_URL=mysql+pymysql://biotrack_user:<password>@localhost:3306/biotrack
Make sure MySQL is running, then create the database and user:
macOS (Homebrew):
brew install mysql
brew services start mysql
mysql_secure_installation # optional but recommended
mysql -u root -pLinux (Ubuntu/Debian):
sudo apt update
sudo apt install mysql-server
sudo systemctl start mysql
sudo mysql -u rootWindows:
Download and run the MySQL Installer. During setup, choose "Developer Default" and set a root password. Then open MySQL Workbench or the MySQL Command Line Client.
Then run the SQL:
CREATE DATABASE biotrack;
CREATE USER 'biotrack_user'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON biotrack.* TO 'biotrack_user'@'localhost';
FLUSH PRIVILEGES;make runOn first startup, the backend will automatically create all tables and seed animal, question, and badge data from the JSON files in backend/data/.
Note for Windows users: make may not be available by default. You can install it via Chocolatey (choco install make), or run the backend and frontend commands manually — check the Makefile for the exact commands.
pytestTODO (reference group 33)