Skip to content

alfi-j/AgroMercado

Repository files navigation

AgroMarket

Welcome to AgroMarket, a comprehensive web application designed to connect farmers and buyers in the agricultural market. This platform provides real-time commodity pricing, a dynamic marketplace for produce, and powerful planning tools for farmers.


Table of Contents


English Documentation

Current Features

The application is currently a feature-rich prototype with simulated backend functionality using local storage.

  1. Market Dashboard:

    • Displays real-time prices for key agricultural commodities like cocoa, coffee, and maize.
    • Each commodity card shows the current price and the percentage change from the last update.
    • Clicking a commodity leads to a detailed view with a 30-day price trend chart and a generated crop-growing guide.
  2. Authentication System (Simulated):

    • A complete login/logout flow for two user roles: farmer and buyer.
    • User session is persisted in localStorage.
    • Role-based access control: Certain navigation tabs (like "My Listings") are only visible to farmers.
    • Sample users are available in src/data/users.json.
  3. Product Marketplace:

    • A public view where anyone can see products listed by farmers.
    • Features include search by product title, filtering by category, and sorting by price or creation date.
  4. Farmer Product Listings:

    • Authenticated farmers can create, view, edit, and delete their product listings.
    • A user-friendly form with validation handles product management.
    • All product data created by the user is persisted in localStorage, making it independent of the initial products.json file.
  5. Crop Schedule Management:

    • Users can schedule and manage farming tasks (e.g., planting, maintenance, harvesting).
    • Tasks can be added, edited, and deleted.
    • Schedule data is also persisted in localStorage.
  6. Moon Phase Calendar:

    • A monthly calendar that displays the current moon phase for each day.
    • Provides location-specific agricultural insights based on the lunar cycle (e.g., best times to plant root crops vs. leafy greens).
    • Integrates with the Schedule feature, displaying scheduled tasks on their respective days.
  7. Customizable Settings:

    • A dedicated settings page where users can personalize their experience.
    • Language: Switch between English and Spanish. The entire UI is translated.
    • Currency: Switch between multiple currencies (USD, GHS, NGN, BRL). All prices in the app update accordingly.
    • Country/Timezone: Select a country to adjust timezone-dependent features like the Moon Calendar.
    • All settings are saved to localStorage.

Tech Stack

  • Framework: Next.js (with App Router)
  • Language: TypeScript
  • Styling: Tailwind CSS with tailwindcss-animate
  • UI Components: ShadCN UI
  • Icons: react-icons
  • Forms: react-hook-form with zod for validation
  • Charts: recharts
  • Animation: framer-motion

Future Improvements

  • Full Backend Integration: Replace the localStorage simulation with a real backend like Firebase (Firestore for data, Firebase Auth for users).
  • Shopping Cart & Ordering: Implement a full-fledged shopping cart and checkout process for buyers.
  • Order Management: Create a dashboard for both buyers and farmers to track order statuses (pending, shipped, delivered).
  • Real-Time Messaging: Add a chat feature for buyers and sellers to communicate directly within the platform.
  • Ratings and Reviews: Allow buyers to rate products and review sellers to build trust in the marketplace.
  • AI-Powered Features:
    • Use generative AI to create more detailed and personalized growing guides.
    • Implement an AI assistant to help farmers diagnose crop diseases from photos.
  • Deployment: Deploy the application to a hosting service like Firebase App Hosting.

Documentación en Español

Funcionalidades Actuales

La aplicación es actualmente un prototipo rico en funcionalidades con una simulación de backend que utiliza el almacenamiento local del navegador.

  1. Tablero de Mercado:

    • Muestra precios en tiempo real de productos agrícolas clave como cacao, café y maíz.
    • Cada tarjeta de producto muestra el precio actual y el cambio porcentual desde la última actualización.
    • Al hacer clic en un producto, se accede a una vista detallada con un gráfico de tendencia de precios de 30 días y una guía de cultivo generada.
  2. Sistema de Autenticación (Simulado):

    • Un flujo completo de inicio y cierre de sesión para dos roles de usuario: agricultor y comprador.
    • La sesión del usuario se guarda en el localStorage.
    • Control de acceso basado en roles: Ciertas pestañas de navegación (como "Mis Anuncios") solo son visibles para los agricultores.
    • Hay usuarios de ejemplo disponibles en src/data/users.json.
  3. Mercado de Productos:

    • Una vista pública donde cualquiera puede ver los productos publicados por los agricultores.
    • Incluye funcionalidades de búsqueda por título, filtro por categoría y ordenación por precio o fecha de creación.
  4. Gestión de Anuncios del Agricultor:

    • Los agricultores autenticados pueden crear, ver, editar y eliminar sus anuncios de productos.
    • Un formulario intuitivo con validación se encarga de la gestión de productos.
    • Todos los datos de productos creados por el usuario se guardan en el localStorage, independizándolos del archivo inicial products.json.
  5. Agenda de Cultivo:

    • Los usuarios pueden programar y gestionar tareas agrícolas (ej. siembra, mantenimiento, cosecha).
    • Las tareas se pueden añadir, editar y eliminar.
    • Los datos de la agenda también se guardan en el localStorage.
  6. Calendario de Fases Lunares:

    • Un calendario mensual que muestra la fase lunar para cada día.
    • Ofrece consejos agrícolas específicos para la ubicación basados en el ciclo lunar (ej. mejores momentos para sembrar cultivos de raíz vs. de hoja).
    • Se integra con la Agenda, mostrando las tareas programadas en sus días correspondientes.
  7. Configuración Personalizable:

    • Una página de configuración dedicada donde los usuarios pueden personalizar su experiencia.
    • Idioma: Cambiar entre inglés y español. Toda la interfaz está traducida.
    • Moneda: Cambiar entre múltiples monedas (USD, GHS, NGN, BRL). Todos los precios en la aplicación se actualizan.
    • País/Zona Horaria: Seleccionar un país para ajustar funcionalidades dependientes de la zona horaria, como el Calendario Lunar.
    • Todas las configuraciones se guardan en el localStorage.

Tecnologías Utilizadas

  • Framework: Next.js (con App Router)
  • Lenguaje: TypeScript
  • Estilos: Tailwind CSS con tailwindcss-animate
  • Componentes de UI: ShadCN UI
  • Iconos: react-icons
  • Formularios: react-hook-form con zod para validación
  • Gráficos: recharts
  • Animaciones: framer-motion

Mejoras Futuras

  • Integración Completa con Backend: Reemplazar la simulación de localStorage con un backend real como Firebase (Firestore para datos, Firebase Auth para usuarios).
  • Carrito de Compras y Pedidos: Implementar un proceso completo de carrito de compras y finalización de compra para los compradores.
  • Gestión de Pedidos: Crear un panel para que tanto compradores como agricultores puedan rastrear el estado de los pedidos (pendiente, enviado, entregado).
  • Mensajería en Tiempo Real: Añadir una función de chat para que compradores y vendedores puedan comunicarse directamente.
  • Calificaciones y Reseñas: Permitir que los compradores califiquen productos y dejen reseñas sobre los vendedores para construir confianza en el mercado.
  • Funcionalidades con IA:
    • Usar IA generativa para crear guías de cultivo más detalladas y personalizadas.
    • Implementar un asistente de IA para ayudar a los agricultores a diagnosticar enfermedades en los cultivos a partir de fotos.
  • Despliegue: Desplegar la aplicación en un servicio de alojamiento como Firebase App Hosting.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages