# Huerta Facil
## Universidad de La Punta - Laboratorio 3
Diaz Diego Martin
[Legajo]
**Fecha:** 29/05/2023
**Docente:** Mariano Gabriel Luzza Bonilla y Luis Javier Mercado
## Tabla de Contenido
* Introducción
* Justificacion
* Objetivo general del proyecto
* Objetivos especificos del proyecto
* Objetivo general del sistema
* Limite
* Alcance
* No contemplado
* Tecnologias
* Competencia
* Listado de requerimientos funcionales
* Listado de requerimientos no funcionales
* Desarrollo del prototipo
* Repositorios y enlaces importantes
## Introducción
El presente proyecto tiene como objetivo desarrollar un sistema innovador para facilitar la gestión y control de las plantas. Buscando brindar a los usuarios una herramienta escalable que les permite cuidar y atender sus plantas de manera más inteligente y detallada.
**ANTECEDENTES:**
En los últimos años, y especialmente durante la pandemia, ha surgido un creciente interés por establecer huertas en los hogares. Sin embargo, acceder a información precisa y confiable sobre el cuidado de las plantas ha sido un desafío. Las herramientas disponibles para gestionar estas huertas a menudo resultan inaccesibles para el ciudadano común, o la información se encuentra dispersa y desorganizada. Además, muchas de estas herramientas proporcionan información de manera técnica o incompleta, dificultando su comprensión por parte de cualquier persona interesada.
**DESCRIPCIÓN DEL AREA PROBLEMÁTICA:**
Estas personas a menudo carecen de conocimientos sobre los aspectos fundamentales de este ámbito, como los ciclos de siembra, los métodos adecuados, los usos recomendados, así como las herramientas necesarias para una gestión efectiva. Además, la falta de información sobre las enfermedades y plagas que afectan a estos cultivos, así como la escasez de herramientas que permitan mantener un orden y control eficientes en las actividades, representan desafíos adicionales.
**FORMULACIÓN DE LA PROBLEMÁTICA:**
¿Cuál sería la metodología adecuada para mantener un registro detallado de las actividades realizadas en la huerta, incluyendo información específica de cada planta, consulta de las épocas correspondientes a cada etapa, consideraciones relevantes a tener en cuenta, y obtener los datos pertinentes para optimizar y gestionar eficientemente el espacio de cultivo?
## Justificación
La creación de esta aplicación se fundamenta en la identificación de las principales necesidades del mercado, abordando los siguientes aspectos:
* Gestión de un calendario inteligente: La aplicación permitirá a los usuarios gestionar un calendario específico basado en las necesidades de su huerta. Esto incluirá la programación de tareas, como siembras, riegos, fertilizaciones y cosechas, de acuerdo con las características y requerimientos de cada planta.
* Centralización de la información: La aplicación brindará una plataforma centralizada que permitirá a los usuarios acceder de manera fácil y rápida a información relevante para la gestión y el cuidado de la salud de las plantas. Esto incluirá consejos, recomendaciones y datos técnicos precisos sobre cada especie, facilitando la toma de decisiones informadas.
Al abordar estas necesidades, la aplicación busca ofrecer a los usuarios una herramienta integral y eficiente para optimizar la gestión y el cuidado de sus huertas, mejorando así la experiencia y los resultados en el cultivo de plantas.
Su impacto radica en la optimización de procesos, la difusión de conocimientos científicos y la generación de datos relevantes para la investigación y mejora continua;
1. Tecnológico:
* Centralización de información: Mediante la integración de datos y la centralización de información relevante, la aplicación simplifica y agiliza la gestión de la huerta, optimizando los procesos y brindando una experiencia más conveniente para los usuarios desde sus dispositivos moviles.
* Automatización de tareas: La aplicación puede incorporar funciones de recordatorios, notificaciones y programación automatizada de tareas, lo que facilita la organización y el seguimiento de las actividades relacionadas con el cuidado de la huerta.
2. Científico:
* Divulgación de conocimientos: La aplicación proporciona información sobre las mejores prácticas de cultivo, las épocas adecuadas para cada etapa, el control de enfermedades y plagas, entre otros aspectos. Esto contribuye a difundir el conocimiento científico y promover prácticas más efectivas y sostenibles.
* Análisis de datos: Al recopilar información detallada sobre las actividades y el rendimiento de las plantas en la huerta, la aplicación puede generar datos valiosos para análisis y estudio. Esto puede contribuir al desarrollo de investigaciones científicas sobre el crecimiento de las plantas, la influencia de factores ambientales y la mejora de técnicas de cultivo.
La relevancia de la aplicación propuesta para la sociedad, instituciones y las empresas radica en varios aspectos:
1. La aplicación brinda a las personas interesadas una herramienta accesible y amigable que les permite gestionar y cuidar sus huertas de manera eficiente. Esto fomenta la participación en actividades relacionadas con la naturaleza, promoviendo la conexión con el entorno y mejorando la calidad de vida.
2. Promueve la autosuficiencia y la seguridad alimentaria: Al permitir a las personas cultivar sus propias plantas y alimentos en casa, la aplicación contribuye a promover la autosuficiencia y la seguridad alimentaria. Los usuarios pueden tener un mayor control sobre la calidad de los alimentos que consumen, reducir su dependencia de proveedores externos y cultivar alimentos frescos y saludables.
3. Optimiza el uso de recursos: La gestión eficiente de la huerta, impulsada por la aplicación, ayuda a optimizar el uso de recursos como el agua, los fertilizantes y el tiempo. Esto tiene un impacto positivo en la sostenibilidad y la conservación del medio ambiente, al reducir el desperdicio y promover prácticas más responsables en el cultivo de plantas.
4. Impulsa la educación y el conocimiento: La aplicación proporciona información detallada sobre el cuidado de las plantas y las mejores prácticas de cultivo. Esto promueve la educación y el conocimiento, permitiendo a los usuarios aprender y adquirir habilidades relacionadas con el cultivo de plantas de manera práctica y accesible.
En el contexto empresarial, la relevancia de la aplicación radica en su potencial para satisfacer una demanda creciente de herramientas y soluciones relacionadas con las huertas. Además, la generación de datos y análisis obtenidos a través de la aplicación pueden brindar oportunidades para la investigación y el desarrollo de nuevas tecnologías o productos relacionados con la jardinería y la agricultura.
## Objetivo general del proyecto
El objetivo general del proyecto es desarrollar una aplicación que facilite la gestión y el cuidado de huertas, proporcionando a los usuarios herramientas y recursos para llevar un registro detallado de las actividades, acceder a información relevante sobre las épocas y consideraciones específicas de cada etapa del cultivo, y obtener datos importantes para optimizar y mejorar la gestión de las huertas. Además, la aplicación busca centralizar la información necesaria para el cuidado de la salud de las plantas, ofreciendo una solución práctica, accesible y amigable. En resumen, proporcionar una herramienta tecnológica que contribuya a promover y facilitar la práctica, promoviendo la autosuficiencia, la seguridad alimentaria y la conexión con la naturaleza y el cuidado ambiental.
## Objetivos específicos del proyecto
1. Interfaz intuitiva y amigable: Diseñar una interfaz de usuario fácil de usar y comprensible, proporcionando la información necesaria para realizar acciones y tomar decisiones informadas.
2. Base de datos de plantas: Incluir un apartado con información detallada sobre distintas plantas, brindando a los usuarios conocimientos y cuidados específicos para el cultivo exitoso.
3. Calendario inteligente: Desarrollar un calendario integrado que permita programar y hacer seguimiento de actividades relacionadas con la huerta, considerando el calendario lunar para optimizar la planificación.
4. Información climática: Proporcionar datos climáticos de los próximos días y recomendaciones de actividades adecuadas segun el mes.
5. Registro personalizado de actividades: Permitir a los usuarios crear registros personalizados para documentar y monitorear el progreso de sus actividades en la huerta.
6. Recordatorios: Implementar recordatorios personalizados o automáticos para las actividades programadas.
7. Marcadores o favoritos: Opción de guardar plantas favoritas para acceder rápidamente a su información relevante.
8. Consejos y recomendaciones: Incluir una sección con consejos y recomendaciones adicionales relacionadas con las plantas guardadas por los usuarios.
## Objetivo general del sistema
El objetivo general del sistema es facilitar la gestión de huertas de manera eficiente y exitosa, proporcionando a los usuarios una herramienta completa que incluya una interfaz intuitiva, información detallada sobre plantas, un calendario inteligente, registros personalizados, recordatorios y consejos relevantes. El sistema busca optimizar el cultivo de plantas, brindando a los usuarios las herramientas necesarias para realizar actividades adecuadas en cada etapa, maximizando así el rendimiento y el cuidado de las plantas en sus huertas.
## Limite
El límite del proyecto se establece desde el proceso de registro de usuarios hasta la capacidad de generar registros personales y programar actividades o recordatorios en el calendario inteligente.
## Alcance
El alcance del proyecto se define en la implementación de una aplicación que permita a los usuarios registrarse, acceder a un apartado de plantas con información y cuidados, utilizar un calendario inteligente para programar actividades relacionadas con la huerta, acceder a datos climáticos y consejos, registrar y hacer un seguimiento de la actividad propia y guardar plantas favoritas.
## No contemplado
Es importante mencionar que el sistema no contempla, en esta versión inicial, la posibilidad de realizar transacciones de compra y venta de insumos ni fomenta la interacción directa entre los usuarios. Sin embargo, estas opciones no están descartadas y podrían ser consideradas para futuras versiones del sistema, a medida que se evalúe su viabilidad y demanda por parte de los usuarios.
## Tecnologías
El proyecto se desarrollará utilizando una combinación de tecnologías clave.
1. Para la aplicación móvil, se empleará Android Studio como entorno de desarrollo y el lenguaje de programación Java para la creación de la interfaz de usuario y la lógica de la aplicación.
2. En cuanto a la parte web del proyecto, se utilizará Visual Studio Code como editor de código y se aprovechará el framework .NET. Para la gestión de la base de datos, se empleará el framework de mapeo de objetos a bases de datos Entity Framework, que facilita el acceso y manipulación de datos en la base de datos.
3. XAMPP como servidor local y MySQL como gestor de bases de datos.
El proyecto hara uso de estas tecnologias debido a su amplia adopcion, funcionalidades y capacidades.
## Competencia
A continuacion, se muestra una tabla con la competencia mas directa
| Detalle | Mi Huerta | Luna & Jardin | Huerta Facil |
| -------------------------- | --------------- | --------------- | ------------ |
| Informacion de la planta | Si | Si | Si |
| Biopreparados | No | No | Si |
| Calendario | No | Si | Si |
| Registro de Actividad | No | Solo fotografia | Si |
| Notas y recordatorios | No | Si | Si |
| Diseñador de Jardin | No | No | Si |
| Compatibilidad de plantas | Si | Si | Si |
| Rotaciones | Si | No | Si |
| Generar huerta recomendada | Si | No | No |
| Datos de calendario lunar | Solo un detalle | Si | Si |
## Listado de requerimientos funcionales
1. Registro de Usuarios
2. Consulta de Plantas
3. Consultar usos de Plantas
4. Revisar Biopreparados
5. Revisar plagas y enfermedades
6. Consultar datos climaticos
7. Control de actividades
8. Gestion de informes
9. Emitir archivo de informe
10. Permitir Login de usuarios
11. Crear notificaciones personalizadas
12. Gestionar tareas del calendario
13. Cambio de contraseña
## Listado de requerimientos no funcionales
| Nombre | Tipo |
| --------------------------------------------------------------------------------------------------------------------- | -------------- |
| Definir roles para la usabilidad y gestion de la aplicacion | Seguridad |
| Garantizar la privacidad y protección de los datos de los usuarios | Seguridad |
| Proporcionar una interfaz intuitiva, amigable y de fácil uso | Usabilidad |
| Implementar una arquitectura MVVM (Modelo-Vista-VistaModelo) para la aplicación móvil | Implementacion |
| Utilizar una arquitectura Model-Controller para la API web | Implementacion |
| Utilizar software de licencia open source para promover la colaboración y transparencia en el desarrollo del proyecto | Implementacion |
| Aplicacion Mobil y y una API web para mayor alcance y accesibilidad | Portabilidad |
| Almacenar los datos en una base de datos relacional (MySQL) para una gestión eficiente y segura de la información | Implementacion |
| Cumplir con las regulaciones y normativas legales y éticas en cuanto a protección de datos personales y privacidad de los usuarios| Ética y Legal |
| Implementar mecanismos de notificación para informar a los usuarios sobre novedades, actualizaciones y eventos relevantes en la aplicación | Desempeño |
## Desarrollo del prototipo
### Analisis y diseño
* Android con Java: Amplia adopción, compatibilidad con dispositivos Android y recursos disponibles.
* .NET: Versatilidad, seguridad y herramientas de desarrollo para la creación de la API web.
* Página web: Interfaz accesible y versátil para la administración del sistema desde cualquier dispositivo.
Al utilizar estas tecnologías, se busca aprovechar sus ventajas individuales y garantizar un desarrollo eficiente, seguro y escalable de la aplicación, así como una experiencia óptima tanto para los usuarios móviles como para los administradores del sistema.
### Diagrama Casos de Uso

### Diagrama Entidad Relacion
<!---->
https://lucid.app/lucidchart/28b16826-ca22-4c86-9818-9f2cbc226afe/edit?viewport_loc=-1645%2C-541%2C2780%2C1241%2C0_0&invitationId=inv_be025a99-4311-4425-82bd-51d9cc3b8fc2
### Diagrama de Clases

### Interfaz Grafica
[Vistas](https://www.figma.com/file/hgjanElQGxqYOaJQ2HQDir/Huerta-Facil?type=design&node-id=0%3A1&t=niLMye9Zt5w9jXbQ-1)
### Repositorios
* [API](https://github.com/Diegassus/HuertaFacilApi)
* [App Móvil](https://github.com/Diegassus/HuertaFacilApp)