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
- arduino
- figma
- google-notebook
- nextjs
- postgresql
- serverless
Log in or sign up for Devpost to join the conversation.