Deeman
3f1cd8bd0c
Update copier answers and docker-compose prod config
...
- Record v0.4.0 commit in .copier-answers.yml
- Apply flattened paths in docker-compose.prod.yml
Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com >
2026-02-19 22:35:55 +01:00
Deeman
4b7d4d5a74
Update from Copier template v0.4.0
...
- Accept RBAC system: user_roles table, role_required decorator, grant_role/revoke_role/ensure_admin_role functions
- Accept improved billing architecture: billing_customers table separation, provider-agnostic naming
- Accept enhanced user loading with subscription/roles eager loading in app.py
- Accept improved email templates with branded styling
- Accept new infrastructure: migration tracking, transaction logging, A/B testing
- Accept template improvements: Resend SDK, Tailwind build stage, UMAMI analytics config
- Keep beanflows-specific configs: BASE_URL 5001, coffee PLAN_FEATURES/PLAN_LIMITS
- Keep beanflows analytics integration and DuckDB health check
- Add new test files and utility scripts from template
Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com >
2026-02-19 22:22:13 +01:00
Deeman
1e8a173ae8
Merge branch 'frontend-upgrade'
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-19 20:49:07 +01:00
Deeman
f722854c07
Rewrite frontend templates: Pico CSS → Tailwind + trader-focused copy
...
Replace all Pico CSS patterns (classless articles, role="button", inline
styles, var(--pico-*)) with Tailwind component classes. Add Fraunces
display font, mobile hamburger nav, brand chart colors, and new component
layer (hero, feature-card, metric-card, auth-card, pricing-card, etc.).
Rewrite marketing copy from generic SaaS boilerplate to coffee-trader
focused messaging. Rebrand pricing tiers to Explorer/Trader/Analyst.
Delete stale custom.css. No Python code changes.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-19 20:47:56 +01:00
Deeman
6dac8570ad
Fix web/ startup errors and sync with boilerplate
...
- Load .env via python-dotenv in core.py
- Skip analytics DB open if file doesn't exist
- Guard dashboard analytics calls when DB not available
- Namespace admin templates under admin/ to avoid blueprint conflicts
- Add dev-login routes for user and admin (DEBUG only)
- Update .copier-answers.yml src_path to GitLab remote
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-19 20:37:44 +01:00
Deeman
d6d2aa8efe
Merge remote-tracking branch 'origin/master'
...
# Conflicts:
# infra/readme.md
2026-02-18 21:09:24 +01:00
Deeman
2748c606e9
Add BeanFlows MVP: coffee analytics dashboard, API, and web app
...
- Fix pipeline granularity: add market_year to cleaned/serving SQL models
- Add DuckDB data access layer with async query functions (analytics.py)
- Build Chart.js dashboard: supply/demand, STU ratio, top producers, YoY table
- Add country comparison page with multi-select picker
- Replace items CRUD with read-only commodity API (list, metrics, countries, CSV)
- Configure BeanFlows plan tiers (Free/Starter/Pro) with feature gating
- Rewrite public pages for coffee market intelligence positioning
- Remove boilerplate items schema, update health check for DuckDB
- Add test suite: 139 tests passing (dashboard, API, billing)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-18 16:11:50 +01:00
Hendrik Dreesmann
b702e6565a
Update SQLMesh for R2 data access & Convert psd data to gzip
2025-11-02 00:26:01 +01:00