# SmartCane Web Apps Collection of lightweight web applications for farm management and data analysis. Each app is self-contained and can be deployed independently to Netlify or any static hosting provider. ## Apps ### πŸ—ΊοΈ Sugar Mill Locator **Location**: `sugar_mill_locator/` Interactive map showing sugar cane mill locations across East & Southern Africa. Features include: - View all mills with detailed information - Color-coded by country, sized by production volume - Draw tool to add new mill locations - Export additions as CSV for database integration - No backend required - fully static **Files**: - `index.html` - Main interface - `app.js` - Map logic and interactions - `sugar_cane_factories_africa.csv` - Mill location data - `README.md` - Detailed documentation **Usage**: Open `index.html` in a browser or deploy to Netlify --- ### βœ“ Data Validation Tool **Location**: `data_validation_tool/` Validates and checks data quality for crop analysis inputs. **Files**: - `index.html` - Main interface - `validator.js` - Validation logic - `README.md` - Documentation --- ## Deployment ### Deploy to Netlify (Recommended) 1. Connect your GitHub repository to Netlify 2. Set build command: (leave empty - static files only) 3. Set publish directory: `webapps/` Or drag & drop each app folder individually. ### Deploy Locally Each app is a standalone HTML/JS application: ```bash # Sugar Mill Locator cd sugar_mill_locator python -m http.server 8000 # Open http://localhost:8000 ``` --- ## Development ### Adding a New App 1. Create a new folder: `webapps/myapp/` 2. Create these files: - `index.html` - Main page - `app.js` (optional) - Logic - `README.md` - Documentation - Any assets (CSS, images, data files) 3. Update main `index.html` with a card linking to your app: ```html
🎯

My New App

Description here

Open App
``` ### Hosting Data Files - Place CSV/JSON files in the app folder - Reference with relative paths: `./data.csv` - The browser can load and parse them client-side - No backend authentication needed ### External Libraries - **Leaflet.js**: Maps (sugar_mill_locator) - **OpenStreetMap**: Base map tiles (free) - Others: Add via CDN in HTML `` --- ## Workflow: Adding Mills to Database **For Team Members**: 1. Open Sugar Mill Locator 2. Switch to "Draw & Add" mode 3. Click marker tool and draw points for new mills 4. Fill in details in the form 5. Export as CSV 6. Send CSV to Timon **For Timon (Integration)**: 1. Receive exported CSV: `sugar_mills_additions_YYYY-MM-DD.csv` 2. Open `sugar_cane_factories_africa.csv` 3. Append new rows from exported file 4. Commit changes to repository 5. Updates visible immediately on next deploy --- ## Technical Notes - All apps are static (no server required) - Data stored in CSV/JSON files in app folders - Client-side processing only - CSV parsing handled by JavaScript - No database backend needed for basic functionality ## Future Enhancements - Google Sheets integration for live data updates - Form submission via Formspree/Firebase - Real-time collaboration features - Data export to multiple formats (Excel, GeoJSON, etc.) --- *Created December 2025 | Resilience BV*