- Replace events+expenses with flat purchases table - Add warranty_months, return_days, product_name fields - Remove currency conversion, CSV/PDF reporting, event filing - Simplify auth (no onboarding/department/profile) - Update AI extraction prompts for product/warranty info - Update all branding: templates, install.sh, Makefile, service file
56 lines
1.4 KiB
Markdown
56 lines
1.4 KiB
Markdown
# NextReceipt
|
|
|
|
**AI-Powered Receipt Saver for Warranty & Returns**
|
|
|
|
Save receipts from private purchases to track warranty coverage and return windows. Upload your receipt, get AI-extracted data, and never lose track of your guarantees again.
|
|
|
|
## Features
|
|
|
|
- **Passwordless login** via email OTP
|
|
- **AI receipt extraction** (Gemini / OpenAI-compatible)
|
|
- **Warranty tracking** — save product name, store, price, warranty months, return window
|
|
- **Receipt image storage** with UUID filenames
|
|
- **Mobile-first PWA** — camera capture, installable, works offline
|
|
- **HTMX-powered UI** — no SPA framework, server-driven
|
|
- **Pure Go, no CGO** — single static binary
|
|
|
|
## Quick Start
|
|
|
|
```bash
|
|
cp .env.example .env
|
|
# Edit .env with your credentials
|
|
go run main.go
|
|
```
|
|
|
|
Open http://localhost:8080
|
|
|
|
## Tech Stack
|
|
|
|
- **Go 1.23+** (pure Go, no CGO)
|
|
- **SQLite** via modernc.org/sqlite
|
|
- **HTMX 1.9.10** + vanilla CSS
|
|
- **chi v5** router
|
|
|
|
## Configuration
|
|
|
|
| Variable | Purpose |
|
|
|----------|---------|
|
|
| `AI_PROVIDER` | `gemini` or `openai` |
|
|
| `GEMINI_API_KEY` | Google Gemini API key |
|
|
| `OPENAI_API_KEY` | OpenAI-compatible API key |
|
|
| `AI_MODEL` | Model name (for OpenAI/Ollama) |
|
|
| `AI_BASE_URL` | API base URL |
|
|
| `SMTP_HOST/PORT/USER/PASS` | SMTP credentials (for OTP emails) |
|
|
| `PORT` | Web server port (default 8080) |
|
|
|
|
## Install (systemd)
|
|
|
|
```bash
|
|
bash install.sh
|
|
```
|
|
|
|
Updates: `bash install.sh -update`
|
|
|
|
## License
|
|
|
|
MIT
|