Context
Academic project developed in a team using Agile methodologies (Scrum). Complete IoT system for environmental and crop monitoring that integrates hardware, backend, frontend and cross-platform mobile development.
Multi-platform Architecture
The system is divided into three independent repositories:
- Hardware (Arduino + C++): Proyecto3A-Arduino - Sensor network with ESP32/Arduino
- Backend (Node.js + Express): Proyecto3A-Server - RESTful API in JavaScript
- Frontend (Ionic + TypeScript): Proyecto3A-Webapp - Cross-platform app (74.2% TypeScript, 20% HTML, 5.1% SCSS)
Technologies and Stack
Hardware Layer
- Microcontrollers: Arduino / ESP32
- Language: C++
- Sensors: Environmental modules (temperature, humidity, luminosity, air quality)
- Connectivity: WiFi / Bluetooth
Backend Layer
- Runtime: Node.js
- Framework: Express.js
- Database: MySQL / SQLite
- Architecture: REST API
- Communication: HTTP/HTTPS, WebSockets
Frontend Layer
- Framework: Ionic (Angular-based)
- Languages: TypeScript (74.2%), HTML (20%), SCSS (5.1%)
- Platforms: Web, iOS, Android
- UI: Ionic Material Components
System Features
Real-Time Monitoring
- Live sensor data visualization
- Historical charts and trends
- Customizable dashboards
- Automatic threshold alerts
Data Management
- Historical storage
- Report export
- Trend analysis
- Aggregated metrics
Mobile Application
- Remote access from any device
- Push notifications
- Offline synchronization
- Responsive interface
Development Methodology
- Scrum: Documented sprints (see ApartadoCalidadSprint3.pdf in repo)
- Teamwork: 3 developers collaborating
- Version control: Git with branch workflow (develop, feature branches)
- Documentation: Technical designs and UML diagrams
Results and Learnings
Developed Skills
- Full Stack Development: Frontend, Backend and Hardware
- Agile methodologies: Scrum, teamwork
- Distributed architecture: Microservices and IoT
- Cross-platform: One codebase for multiple platforms with Ionic
- System integration: Arduino ↔ API ↔ Web/Mobile
Project Impact
This project demonstrates the viability of accessible IoT solutions for:
- Real-time environmental monitoring
- Data-driven decision making
- Resource optimization in agriculture
- Early warning for prevention