Initial scaffold: project skeleton, README, requirements, main.py stub

This commit is contained in:
2026-05-24 18:33:23 -04:00
commit eaa165a43b
4 changed files with 119 additions and 0 deletions
+20
View File
@@ -0,0 +1,20 @@
# Python
__pycache__/
*.py[cod]
.venv/
*.egg-info/
# Data (gitignored but tracked via seed-data/*.csv pattern)
seed-data/*.csv
# Database
*.db
*.db.bak
*.db-*
# OS
.DS_Store
Thumbs.db
# Reports
reports/
+55
View File
@@ -0,0 +1,55 @@
# 🌱 Canteen Seed Data Import Tool
Standalone seed data import tool for the [Canteen Asset Tracker](https://canteen.ourpad.casa).
Conceptualizes the import pipeline before integration into the admin panel.
## Purpose
Import Cantaloupe seed data (CSV export) into the canteen assets database with:
- **Header Mapping** — Raw Excel headers → CSV headers → DB column names
- **Location Extraction** — Parse Customer & Place columns into structured fields
- **GPS Derivation** — Handle multi-floor GPS offsets
- **Serial Validation** — OCR corrections, unknown machine identification
- **Type/Class/Make/Model Normalization** — Consolidate to Class, Make, Model
- **Pricing Status Decoding** — Remote pricing status meanings
- **Telemetry Decoding** — Card reader brand/type from telemetry IDs
- **Alert Interpretation** — Alert code meanings
- **Sales Priority Scoring** — Low/mid/high business value
- **Backup & Restore** — Preserve existing GPS + check-in data
- **Validation Reports** — Detailed import summary
## Data Files
```
seed-data/
├── header_modified.csv # Header mapping: raw Excel → CSV → DB
├── import_seed.csv # Seed data (vending machine export)
└── reference_handbook.md # Extraction rules & reference docs
```
## Usage
```
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python main.py seed-data/import_seed.csv --db /path/to/assets.db [--dry-run]
```
## Integration
Once validated, this tool will be integrated into the [Canteen Admin Server](https://admin.canteen.ourpad.casa).
## Database Schema
Shares the same `assets.db` schema as the Canteen Asset Tracker:
- **assets** table with columns: machine_id, serial_number, name, make, model, address, building_name, building_number, floor, room, trailer_number, latitude, longitude, company, location_area, place, category, status, priority, pricing_status, card_reader_brand, card_reader_model, dex_report_date, install_date, deployed, pulled_date, disney_park, is_disney, etc.
- **checkins** table for GPS check-in records
- See main project for full schema.
## Priority
This tool is a conceptual prototype. Once the pipeline is stable, the logic will be ported to the admin panel as a feature.
+31
View File
@@ -0,0 +1,31 @@
#!/usr/bin/env python3
"""
🌱 Canteen Seed Data Import Tool
Standalone import pipeline for Cantaloupe CSV exports.
Run with --help for usage.
Pipeline stages:
1. Backup existing GPS + check-ins from target DB
2. Parse & map CSV headers
3. Extract location data from Customer/Place columns
4. Derive GPS coordinates (with multi-floor support)
5. Validate & correct serial numbers
6. Normalize Class/Make/Model
7. Apply pricing status, telemetry, alert metadata
8. Score priority from sales data
9. Write to DB (preserving existing GPS/check-ins)
10. Generate validation report
"""
import sys
def main():
print("🌱 Canteen Seed Data Import Tool")
print(" Coming soon — pipeline modules pending.")
sys.exit(0)
if __name__ == "__main__":
main()
+13
View File
@@ -0,0 +1,13 @@
# CSV parsing + data processing
pandas>=2.0
numpy>=1.24
# Database
sqlite-utils>=3.0
# Geocoding (for GPS derivation)
httpx>=0.24
# CLI
rich>=13.0
click>=8.0