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