Skip to content

Mi proyecto de fin de Bootcamp

Publicado el: at 14:33

En el 2023, con el propósito de ampliar mis conocimientos (sobre todo Fronted), realicé un Bootcamp con Codehouse Academy. Tengo que decír que aprendí mucho y que conocí a grandes profesionales. Quizás más adelante me anime a escribir un artículo sobre esta gran experiencia 😊.

Contenido

Mostrar

Agraja

Así se llama mi proyecto de fin de Bootcamp. Muy resumido, se trata de una aplicación que sirve para gestionar ventas de cajas de productos de la huerta y el campo ecológicos. También permite gestionar la contratación de agricultores y asociarlos con los clientes existentes. Estos agricultores serían contratados para cultivar los campos de los clientes.

El Fronted está desarrollado en Angular y el Backend en .NET Web Api.

Fué mi primera Web Api, todavía no sabía ni lo que era Automapper, pero aún así utilice tecnologías como JWT Bearer Tokens para la autenticación, Swagger para la documentación API y encriptación AES para el guardado de contraseñas entre otras.

Detalles caja

Detalles de caja

Tambíen fué mi primer Fronted. Utilice mi propio sistema de caché de imágenes (seguro que hay otras maneras mejores de solucionar esto). Utilicé Guards para limitar el acceso según el rol de usuario e Interceptors para actualizar el Bearer token si caducaba. También Pipes para el formateo de fecha y hora entre otros.

Detalles agricultor

Detalles agricultor

Agraja es responsive se ve genial tanto en dispositivos móbiles como en equipos de escritorio o tablets. Utilicé Bootstrap como framework css.

Pantalla Agro

Pantalla Agro

Intenté utilizar elementos que dieran en todo momento feedback al usuario como: cards de carga (skeletons), mensajes emergentes de realizado, no realizado, error, etc… Me ponen nervioso las aplicaciones que están estáticas en una solicitud y parecen no hacer nada 😬.

card loading

Skeleton de carga

Más abajo puedes ver las especificaciones del proyecto que debía cumplir.


🌟 PRUEBA AGRAJA 🌟

Puedes probar Agraja aquí 👉 https://demo.aimarmun.com

LA BASE DE DATOS SE REINICIA CADA HORA EN PUNTO.

Puedes utilizar las siguientes credenciales:

Cada uno con permisos diferentes.


Especificaciones del proyecto

Estas son las especificaciones del proyecto que tenía que cumplir. Copio textualmente:

MUST HAVE

Los dos procesos de consumo diferentes constan de lo siguiente:

Agraja Caja

Se trata de cajas mixtas a la venta.

De cada caja se debe mostrar la siguiente información:

Sobre ellas se deberán poder realizar las siguientes funcionalidades:

Agraja Agro

Posibilidad de que un agricultor cultive la propia cosecha del cliente.

Sobre esta opción se deberá poder realizar:

Pantallas fundamentales para el administrador:

Catálogo de Agraja Caja

En esta vista aparecerán todas las cajas disponibles.

Así mismo, se habilitará la opción de poder ordenar de mayor a menor precio y viceversa.

Página detalle Agraja Caja

Se podrá pinchar en cda una de las cards de las cajas, lo que conducirá a una página en la que se mostrán de forma detallada los datos de la misma.

Catálogo Agraja Agro

En esta vista aparecerán todos los agricultores disponibles.

Asimismo, se añadirá un filtro que filtrará por tipo de cultivo.

Página detalle Agraja Agro

Se mostrarán de forma detallada los datos del agricultor y de su correspondiente parcela de cultivo.

Importante

  • En la edición de la caja solo se podrá editar el nombre, la descripción y el stock.
  • En la edición del agricultor solo se podrá editar el nombre y la descripción.

Should Have

Incorporar la funcionalidad de poder hadcer login en la aplicación.

El login constará de los siguientes campos:

Solo podrán entrar a la página aquellas personas que previamente se loguen, por lo que todas las pantallas y sus correspondientes funcionalidades quedarán sujetas a que el administrador se logue de forma correcta.

Could Have

Introducción de roles.

La aplicación pasará a tener dos tipos de roles:

El administrador podrá seguir realizando todas las funcionalidades anteriormente detalladas.

En cuanto a los usuarios, esto podrán registrarse en la página para poder comprar directamente los productos ofrecidos por Agraja.

Con la incorporación de la figura de usuario y la apertura pública de la página, se deberá realizar una adecuada gestión de los permisos habilitados para cada uno de los roles.