Roadmap covers all features across talleres, refaccionarias, and distribuidores.
Includes competitive comparison vs Pitz, Meru, Jetz, and traditional POS.
Pricing strategy and feature differentiation documented.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Multi-tenant POS system for Mexican auto parts stores (refaccionarias):
- DB-per-tenant isolation with template versioning
- PWA with offline-first via IndexedDB + Service Worker
- Inventory by operations (append-only, no conflicts)
- CFDI 4.0 via Horux360 API with offline queue
- Accounting with auto journal entries
- Role-based permissions (owner/admin/cashier/warehouse/accountant)
- Themeable frontend via CSS custom properties
- 22 table schemas defined, offline edge cases addressed
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
If no qualified round ($500K+ USD) is raised within 12 months,
investors can choose to: (A) keep the SAFE, or (B) convert to
a loan at 15% annual interest payable in 3 months.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Each race checkpoint now includes specific feature deliverables:
- Mes 1: CFDI 4.0, VIN decoder, carrito multi-bodega
- Mes 3: Chatbot IA, WhatsApp API, SaaS refaccionarias
- Mes 6: Kanban, BNPL/APLAZO, programa de lealtad
- Mes 9: Sync ERP, flotillas, alianza nacional
- Mes 12: ML/Amazon, IA por voz, API pública
- Mes 15: PWA, escala
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
13-slide F&F round presentation with roadmap, competitive landscape,
and updated product features. Accessible at /pitch endpoint.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- README.md: project overview, features, quick start, API overview
- docs/API.md: full endpoint reference with examples
- docs/ARCHITECTURE.md: system diagram, DB schema, data pipeline, auth flow
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- import_phase1.py: skip AFT- part creation when no OEM data
- link_vehicle_parts.py: remove AFT- fallback lookup in part cache
- import_tecdoc_parts.py: add VW to TOP_BRANDS list
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Migrates 357K AFT-prefixed parts from parts table to aftermarket_parts.
Parses part_number and manufacturer from AFT-{partNo}-{manufacturer} format.
Links to OEM parts via cross-references. Batch processing with progress.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
New Sistema > Usuarios section with user listing, role badges
(ADMIN=blue, OWNER=purple, TALLER=green, BODEGA=orange),
activate/deactivate toggle, and pending users badge count.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Shows business name + logout button when authenticated.
Shows login link when not authenticated. Adds bodega to nav links.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Login form with role-based redirect (ADMIN→demo, BODEGA→bodega, TALLER→demo).
Register form for TALLER/BODEGA with admin approval required.
Includes authFetch() wrapper with automatic token refresh.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Implements hash_password, check_password, create_access_token,
create_refresh_token, decode_token, and require_auth() decorator
for role-based endpoint protection.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add PyJWT, bcrypt, openpyxl to requirements.
Add JWT_SECRET, JWT_ACCESS_EXPIRES, JWT_REFRESH_EXPIRES to config.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Fix console/main.py: import DB_URL instead of missing DB_PATH
- Add sqlalchemy text() import for connection test
- Replace file-exists check with actual PostgreSQL connection test
- Mask password in startup banner
- Add docs/METABASE_ACTIONS.md: complete guide for data entry via
Metabase Actions (models, forms, dashboard layout, workflows)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Backend (server.py):
- Fix N+1 query in /api/diagrams/<id>/parts with batch cross-ref query
- Add LIMIT safety nets to 15 endpoints (50-5000 per data type)
- Add pagination to /api/vehicles, /api/model-year-engine, /api/vehicles/<id>/parts, /api/admin/export
- Optimize search_vehicles() EXISTS subquery to JOIN
- Restrict static route to /static/* subdir (security fix)
- Add detailed=true support to /api/brands and /api/models
Frontend:
- Extract shared CSS into shared.css (variables, reset, buttons, forms, scrollbar)
- Create shared nav.js component (logo + navigation links, auto-highlights)
- Update all 4 HTML pages to use shared CSS and nav
- Update JS to handle paginated API responses
Data quality:
- Fix cross-reference source field: map 72K records from catalog names to actual brands
- Fix aftermarket_parts manufacturer_id: correct 8K records with wrong brand attribution
- Delete 98MB backup file, orphan records, and garbage cross-references
- Add import scripts for DAR, FRAM, WIX, MOOG, Cartek catalogs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove the Rich-based textual renderer and all --mode modern references.
The console now runs exclusively in VT220 curses mode (green on black).
No external dependencies required.
Removed: console/renderers/textual_renderer.py, --mode flag, DEFAULT_MODE
Updated: main.py, config.py, README.md, console/README.md
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>