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.
The application is currently a feature-rich prototype with simulated backend functionality using local storage.
-
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.
-
Authentication System (Simulated):
- A complete login/logout flow for two user roles:
farmerandbuyer. - 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.
- A complete login/logout flow for two user roles:
-
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.
-
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 initialproducts.jsonfile.
-
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.
-
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.
-
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.
- Framework: Next.js (with App Router)
- Language: TypeScript
- Styling: Tailwind CSS with
tailwindcss-animate - UI Components: ShadCN UI
- Icons:
react-icons - Forms:
react-hook-formwithzodfor validation - Charts:
recharts - Animation:
framer-motion
- Full Backend Integration: Replace the
localStoragesimulation 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.
La aplicación es actualmente un prototipo rico en funcionalidades con una simulación de backend que utiliza el almacenamiento local del navegador.
-
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.
-
Sistema de Autenticación (Simulado):
- Un flujo completo de inicio y cierre de sesión para dos roles de usuario:
agricultorycomprador. - 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.
- Un flujo completo de inicio y cierre de sesión para dos roles de usuario:
-
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.
-
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 inicialproducts.json.
-
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.
-
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.
-
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.
- 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-formconzodpara validación - Gráficos:
recharts - Animaciones:
framer-motion
- Integración Completa con Backend: Reemplazar la simulación de
localStoragecon 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.