Proyecto EURECAT

Lo que hace

La aplicación es un jardín virtual que almacena y unifica el estado de cada una de las plantas, permitiéndote tenerlas monitorizadas en tiempo real.

Cómo lo construimos

Para construir la aplicación, la dividimos en 3 partes:

Sensorización y hardware:

Para la sensorización, desarrollamos una serie de scripts capaces de leer en intervalos de tiempo los estados y enviarlos al bloque MQTT para ser procesados posteriormente.

Conector:

El conector es un script que lee los datos en tiempo real del broker en nuestro topic y los almacena en nuestra base de datos centralizada mediante un histórico y un objeto que es una instantánea del último estado.

Aplicación principal:

Aquí es donde la mayor parte de nuestros esfuerzos se centraron, siendo una aplicación web modular que nos permite añadir distintas funcionalidades en el futuro. Actualmente, tenemos un histórico de datos junto con el almacenamiento de todos los estados de la planta, lo que permite realizar un análisis del estado de la misma.

Environment:

We have worked over a NextJs 14 template. We used Typescript and React as programming languages, also tailwind-css to complement the style.

API Calls:

  • GET /api/auth/signup --> Endpoint to register a new user

  • GET /api/plants --> Endpoint to get data of all available plants the current user

  • GET /api/plants/:id --> Endpoint to get data of one plant

  • POST /api/plants --> Endpoint to create a new plant linked with the current user

  • PUT /api/auth/profile --> Endpoint to update the current user profile data

  • DELETE /api/auth/profile --> Endpoint to remove the current user

  • GET /api/plants/:id/historic --> Endpoint to retrieve historic data from a specific plant

DDBB:

(PostgreSQL, using prisma as a ORM)

The database is composed by several tables:

  • Account, Session and VerificationToken tables related to authentification by NextAuth library

  • User table to save data of our users

  • Plant table to store data related to diferent plants

  • Plant history related to the diferent data related to the diferent plants.

Desafíos que enfrentamos

Dentro del equipo, no teníamos experiencia en el tratamiento de datos, y eso, junto con la alta carga de trabajo, ha convertido el proyecto en una tarea heroica.

Logros de los que estamos orgullosos

Estamos muy contentos con el resultado, ya que hemos sido capaces de crear una aplicación de manera usable, accesible y para todos los públicos.

Próximos pasos para My Little Garden

Próximamente en My Little Garden, podrás subir la fotografía de tu planta cuando la veas enferma, y la aplicación te informará de cómo ayudarla a curarse. También podrás participar en la comunidad para que personas de todo el mundo puedan ofrecerte sus opiniones y experiencias. Otra de las opciones que se pueden implementar es un rastreador de seguimiento de germinación y cultivo. Podrás ingresar la edad de tu planta y seguir el proceso, desde cuándo dará sus frutos hasta el mejor momento para germinarla, entre otras cosas.

Built With

Share this project: