Project Overview
An end-to-end customer feedback system built for retail environments. The solution combines ESP32-based hardware devices with a comprehensive web platform for data collection, visualization, and analysis.
Architecture
Hardware Layer (ESP32)
- Firmware: Built with ESP-IDF and FreeRTOS
- Connectivity: WiFi for data sync, Bluetooth for device provisioning
- Security: HTTPS for secure data transmission
- Provisioning: Hotspot/Bluetooth stack for easy device setup
Backend (Django)
- RESTful API for data ingestion from devices
- Secure multi-tenant dashboard
- Support for multi-vendor enterprises
- Multi-location and multi-area deployment management
Frontend Dashboard
- Real-time average ratings display
- Historical data visualization with Matplotlib
- Statistical analysis and trend reporting
- Secure authentication and role-based access
Key Features
Device Management
- Over-the-air firmware updates
- Remote configuration
- Device health monitoring
- Offline data storage with sync
Analytics
- Real-time rating averages
- Historical trends and comparisons
- Location-based performance metrics
- Exportable reports
Technologies Used
| Layer | Technologies |
|---|---|
| Firmware | ESP-IDF, FreeRTOS, C |
| Backend | Django, Python, PostgreSQL |
| Frontend | HTML/CSS/JS, Matplotlib |
| Communication | HTTPS, BLE, WiFi |
Deployment
Successfully deployed across multiple retail locations with:
- 99.9% uptime
- Sub-second response times
- Scalable to 1000+ devices per deployment
Resources
- Firmware: github.com/Satyamkhadka/coolman_firmware
- Server: github.com/Satyamkhadka/happy_or_not_server
- Blog Post: electronicsworkshops.com