Book-Hive

BookHive (CSC.289 Capstone)

BookHive is a manager-only web app that helps bookstore and library managers manage inventory, circulation (loans/returns), manual sales, and operational insights through dashboards.

This is a Wake Tech CSC.289 Programming Capstone project built by Team 1 for Spring 2026.

Tech stack

Repo structure

Quickstart (local development)

Prereqs

1) Install root tools (formatting + orchestrated dev)

npm install

2) Start database

docker compose up -d
docker ps

(Optional) Check successful DB table creation through MySQL CLI

mysql -u root -p -h 127.0.0.1 -P 3307
USE bookhive;
SELECT DATABASE();
SHOW DATABASES;
SHOW TABLES;

3) Backend setup

cd backend
py -3.13 -m venv .venv
source .venv/Scripts/activate
pip install -r requirements.txt
pip install -r requirements-dev.txt

Copy env config

cp .env.example .env

Run backend

cd ..
npm run dev:backend

4) Frontend setup

cd frontend
npm install
cp .env.example .env
npm run dev

5) Run both from repo root

cd ..
npm run dev

Validate services

Backend DB connectivity

curl http://localhost:8000/health

Expected

{ "ok": true, "db": "connected" }

Formatting & Linting

Repo-wide formatting

npm run format

Backend lint/format

cd backend
source .venv/Scripts/activate
ruff check .
ruff format .

Frontend lint/format

cd frontend
npm run lint
npm run format

Test

Backend unit tests

cd backend
source .venv/Scripts/activate
python -m unittest discover -s tests -p "test_*.py" -v

Frontend unit tesxts

cd frontend
npm run test:unit

Workflow & Contribution

See the following

Seed demo data

From backend/

python scripts/seed_db.py --reset
python scripts/seed_db.py

Troublehshooting