CRM
29/07/2022
Este proyecto lo realicé de forma individual. Hice yo mismo tanto el Front End como el Back End. El objetivo de esta aplicación es que el cliente pueda manejar su negocio de forma sencilla y cómoda.
Front End
Los pilares del Front End de esta aplicación son:
- React
- Redux
- MaterialUI
Elegí hacer un manejo del estado de la aplicación con Redux, ya que considero que una aplicación como CRM requiere un manejo de estado consistente y rápido. Redux nos provee estas características. Además la librería nos provee una buena experiencia desarrollo por lo que los tiempos de desarrollo de los componentes son mucho menores. Redux también provee una conjunto de herramientas para las tareas repetitivas llamada redux toolkit
, las cuales se utilizan mucho en este proyecto.
Elegí una librería de componentes para la interfaz porque considero que esto reduce mucho los tiempos de desarrollo y los esfuerzos. Luego, elegí MaterialUI, ya que tiene componentes altamente customizables lo que permite que se puedan adaptar a múltiples escenarios y además se pueden configurar de forma sencilla.
Back End
El Back End lo desarrollé con NestJS, un framework que se ejecuta en Node y cuya arquitectura se inspira en Angular. Elegí este framework por su buena documentación y por la buena estructura de componentes que tiene. Además nunca había desarrollado backend en otra cosa que no sea Node y Express, por lo que decidí experimentar con NestJS. Me dio muy buenas resultados, la experiencia de desarrollo fue muy buena y me terminó gustando mucho el framework.
Diseño
Para realizar el diseño, me basé en un template creado por MaterialUI. Elegí este template ya que lo considero atractivo y con una buena experiencia de usuario. Lo que es la construcción del Front End la realicé yo mismo. Esta aplicación está preparada para ajustar el tema de la web a gusto, a través del archivo theme
Next Steps
En un futuro, me gustaría agregar un routeador automático de pedidos. ¿Qué significa esto? Que yo selecciono los pedidos que quiero entregar en un día, y la aplicación me traza la ruta más óptima en un mapa. Esto puede servirle al cliente para ahorra tiempo, costos de combustible y personal.