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:
@@ -0,0 +1,37 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
echo "[*] Starting wgBill Local Native Environment..."
|
||||
|
||||
SESSION="wgbill"
|
||||
SESSIONEXISTS=$(tmux list-sessions 2>/dev/null | grep $SESSION || true)
|
||||
|
||||
# Only create tmux session if it doesn't exist
|
||||
if [ "$SESSIONEXISTS" = "" ]
|
||||
then
|
||||
echo "[.] Starting new tmux session..."
|
||||
tmux new-session -d -s $SESSION
|
||||
|
||||
sleep 3
|
||||
|
||||
# Backend (native)
|
||||
tmux new-window -t $SESSION -n 'backend'
|
||||
tmux send-keys -t "$SESSION:backend" 'cd ./backend && source .venv/bin/activate && python run.py' C-m
|
||||
|
||||
sleep 5
|
||||
|
||||
# Frontend (native)
|
||||
tmux new-window -t $SESSION -n 'frontend'
|
||||
tmux send-keys -t "$SESSION:frontend" 'cd ./frontend && npm run dev' C-m
|
||||
|
||||
tmux select-layout -t $SESSION tiled
|
||||
|
||||
else
|
||||
echo "[i] Found existing session."
|
||||
sleep 1
|
||||
fi
|
||||
|
||||
echo "Attaching to tmux session..."
|
||||
sleep 1
|
||||
|
||||
tmux attach-session -t $SESSION
|
||||
Reference in New Issue
Block a user