Initial scaffold: Flask/SQLite backend, React/Vite PWA frontend
Backend: receipt upload -> LLM vision extraction (OpenAI-compatible, provider-agnostic), item review/edit, per-group splitting against Cospend projects/members, highlight+upload via WebDAV, public share link, bill creation via Cospend's OCS API (verified against real source, not just doc summaries). Frontend: capture -> review -> group -> summary flow as an installable PWA. install.sh / run.sh (venv + npm, tmux session) instead of Docker, per the ~/Projects/gain pattern.
This commit is contained in:
Executable
+51
@@ -0,0 +1,51 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
echo "Installing wgBill"
|
||||
echo "=================="
|
||||
|
||||
# Backend
|
||||
echo ""
|
||||
echo "Setting up backend..."
|
||||
cd backend
|
||||
# python3 -> 3.14 on this machine has no prebuilt Pillow wheel yet and
|
||||
# fails building from source (missing jpeg headers); 3.12 has wheels.
|
||||
PYBIN=python3.12
|
||||
command -v "$PYBIN" >/dev/null 2>&1 || PYBIN=python3
|
||||
"$PYBIN" -m venv .venv
|
||||
source .venv/bin/activate
|
||||
python -m pip install -r requirements.txt
|
||||
|
||||
if [ ! -f .env ]; then
|
||||
echo "Creating backend .env from example..."
|
||||
cp .env.example .env
|
||||
fi
|
||||
|
||||
cd ..
|
||||
|
||||
# Frontend
|
||||
echo ""
|
||||
echo "Setting up frontend..."
|
||||
cd frontend
|
||||
npm install
|
||||
|
||||
if [ ! -f .env ]; then
|
||||
echo "Creating frontend .env from example..."
|
||||
cp .env.example .env
|
||||
fi
|
||||
|
||||
cd ..
|
||||
|
||||
echo ""
|
||||
echo "=================================="
|
||||
echo "Installation complete!"
|
||||
echo ""
|
||||
echo "Fill in backend/.env (Nextcloud app password, LLM API key) before"
|
||||
echo "first run - see backend/.env.example for what's needed."
|
||||
echo ""
|
||||
echo "To start the application:"
|
||||
echo " ./run.sh"
|
||||
echo "or manually:"
|
||||
echo " Backend: cd backend && source .venv/bin/activate && python run.py"
|
||||
echo " Frontend: cd frontend && npm run dev"
|
||||
echo ""
|
||||
Reference in New Issue
Block a user