EcologiX es un sistema de monitoreo ecológico que utiliza Arduino para el seguimiento de datos ambientales como temperatura, humedad y calidad del aire. El sistema está desarrollado con React, Vite, ExpressJS, MongoDB y TailwindCSS, proporcionando una interfaz web interactiva para visualizar y analizar los datos en tiempo real.
Estas instrucciones te permitirán obtener una copia del proyecto en funcionamiento en tu máquina local para propósitos de desarrollo y pruebas.
Mira Deployment para conocer cómo desplegar el proyecto.
Para ejecutar este proyecto en tu máquina, necesitas tener instalados los siguientes programas:
- Node.js (LTS recomendado)
- MongoDB - Base de datos utilizada para almacenar los datos del monitoreo
- Arduino IDE - Para cargar el código en la placa Arduino
- pnpm para gestionar las dependencias
-
Clona el repositorio
git clone https://github.com/AnderCMD/EcologiX.git
-
Navega al directorio del proyecto
cd EcologiX
-
Instala las dependencias
pnpm install
-
Configura la base de datos MongoDB para almacenar los datos de monitoreo. Asegúrate de que tu instancia de MongoDB esté corriendo localmente o en un servidor.
-
Carga el código de Arduino en tu placa para empezar a recolectar datos. El código de Arduino se encuentra en la carpeta
/arduino
. -
Ejecuta el servidor de desarrollo
pnpm dev
-
Abre el navegador y accede a
http://localhost:3000
para visualizar los datos de monitoreo en tiempo real.
Para desplegar este proyecto en un servidor de producción:
-
Construye el proyecto para producción:
pnpm build
-
Sube el frontend y el servidor Express a tu servidor de producción.
-
Asegúrate de que la base de datos MongoDB esté configurada correctamente en el servidor de producción.
-
Configura las variables de entorno adecuadas para MongoDB en el servidor.
- React - Biblioteca de JavaScript para la construcción de la interfaz de usuario
- Vite - Herramienta de construcción y desarrollo rápido para el frontend
- ExpressJS - Framework web para Node.js utilizado en el backend
- MongoDB - Base de datos NoSQL utilizada para almacenar datos de monitoreo
- Arduino - Plataforma de hardware utilizada para recolectar datos ambientales
- TailwindCSS - Framework de CSS utilizado para diseñar la interfaz de usuario
Este proyecto ha sido realizado por mí. Si tienes alguna sugerencia o mejora, no dudes en abrir un pull request.
- Ander González - Ingeniero en Software - AnderCMD
- Carmen - Ingeniero en Software - AnderCMD
- Pablo Guadalupe - Ingeniero en Software - AnderCMD
Este proyecto está bajo la Licencia MIT - mira el archivo LICENSE.md para detalles.
⌨️ con ❤️ por AnderCMD 😊