97 lines
3.4 KiB
Markdown
97 lines
3.4 KiB
Markdown
# Grocery Receipt Tracker
|
|
|
|
A database application to track your grocery receipts (PDF/email format) and monitor price evolution over time.
|
|
|
|
## Overview
|
|
|
|
This project helps you:
|
|
- Import and store your grocery receipts from email attachments or PDF files
|
|
- Extract item details and prices from receipt images/PDFs
|
|
- Track price changes for the same items across different stores and over time
|
|
- Analyze spending patterns and identify price trends
|
|
- Compare costs to find the best deals and optimize your shopping habits
|
|
|
|
## Features
|
|
|
|
- Import receipts from email attachments or PDF files
|
|
- Extract item details and prices using OCR technology
|
|
- Store receipt details (date, store, items, prices, total)
|
|
- Track price evolution for the same items over time
|
|
- Compare prices for the same items across different stores
|
|
- Visualize price changes with charts and graphs
|
|
- Generate reports on spending patterns and savings opportunities
|
|
|
|
## Storage Options
|
|
|
|
When storing your grocery receipt data, you have several options:
|
|
|
|
### CSV Files
|
|
**Advantages:**
|
|
- Simple, human-readable format
|
|
- Easy to share and import into other tools (Excel, Google Sheets)
|
|
- No database software required
|
|
- Good for small datasets
|
|
|
|
**Disadvantages:**
|
|
- No data validation or constraints
|
|
- Difficult to query across multiple files
|
|
- Performance degrades with large datasets
|
|
- No built-in concurrency support
|
|
- Not ideal for tracking relationships between data (e.g., items to receipts)
|
|
|
|
### SQLite Database
|
|
**Advantages:**
|
|
- Lightweight, serverless database engine
|
|
- Single file storage (easy to backup and transfer)
|
|
- Supports SQL queries for complex analysis
|
|
- ACID compliant for data integrity
|
|
- No separate database server required
|
|
- Excellent for desktop/local applications
|
|
|
|
**Disadvantages:**
|
|
- Limited concurrent write access
|
|
- Not suitable for multi-user web applications
|
|
- Database size can grow with large datasets
|
|
|
|
### PostgreSQL/MySQL Database
|
|
**Advantages:**
|
|
- Robust, enterprise-grade database systems
|
|
- Excellent for multi-user applications
|
|
- Advanced querying capabilities
|
|
- Strong concurrency support
|
|
- Scalable for large datasets
|
|
|
|
**Disadvantages:**
|
|
- Requires separate database server setup
|
|
- More complex configuration
|
|
- Overkill for personal/local use cases
|
|
|
|
### Recommendation for This Project
|
|
For tracking personal grocery receipts with price comparison features, **SQLite** is the recommended option. It provides the benefits of a proper database (structured queries, data integrity, relationships) while remaining simple to set up and maintain as a single file.
|
|
|
|
## Getting Started
|
|
|
|
1. Clone this repository
|
|
2. Install dependencies: `pip install -r requirements.txt`
|
|
3. Set up the SQLite database: `python manage.py migrate`
|
|
4. Start the application: `python manage.py runserver`
|
|
5. Import your first receipt by uploading a PDF or forwarding an email receipt
|
|
|
|
The application will create a `db.sqlite3` file in the project directory to store your receipt data.
|
|
|
|
## Usage
|
|
|
|
- Upload your grocery receipts (PDF or email attachments)
|
|
- The system will extract item details and prices using OCR
|
|
- View your receipt history and price tracking dashboard
|
|
- Use the comparison tools to analyze price changes over time
|
|
- Export reports for analysis or sharing
|
|
|
|
## Contributing
|
|
|
|
We welcome contributions! Please read our contributing guidelines before submitting pull requests.
|
|
|
|
## License
|
|
|
|
This project is licensed under the MIT License - see the LICENSE file for details.
|