Solicitud de Desarrollo: Aplicación Web de Directorio de Negocios Locales (MVP)
Se busca un desarrollador/a full-stack para la creación de un Producto Mínimo Viable (MVP) de una aplicación web de directorio de negocios. A continuación se detallan las características requeridas y el stack tecnológico a utilizar.
Requisito Principal de Diseño
Diseño "Mobile-First" y 100% Responsivo: Es un requisito indispensable que la aplicación se diseñe priorizando la experiencia en dispositivos móviles. Debe ser totalmente funcional y visualmente atractiva en un WebView de una aplicación Android, además de adaptarse perfectamente a tablets y escritorios.
Características del Frontend (Vista Pública)
Página de Inicio:
Slider Publicitario: Un carrusel de imágenes en la parte superior que sirva como espacio publicitario.
Buscador con Filtros: Un campo de búsqueda para encontrar negocios por nombre.
Filtros por Categoría: Botones o un selector para filtrar los negocios por categorías (ej: Restaurantes, Hoteles, Farmacias, etc.).
Sección "Negocios Destacados": Una grilla o lista que muestre los negocios marcados como destacados por el administrador.
Sección "Farmacia de Turno": Un apartado especial que muestre la información del negocio asignado como farmacia de turno.
Listado General de Negocios: Visualización de todos los negocios activos en formato de tarjetas.
Página de Detalles del Negocio:
Al hacer clic en un negocio, se debe mostrar una página con toda su información: nombre, descripción, fotos, dirección, teléfono, sitio web, horarios.
Vista de Mapa:
Una página con un mapa interactivo (ej. Leaflet, Google Maps) que muestre la ubicación de todos los negocios con marcadores.
Al hacer clic en un marcador, debe aparecer un popup con información básica y un enlace a la página de detalles del negocio.
Acceso de Administrador:
Un enlace o botón que dirija a la página de inicio de sesión del panel de administración.
Características del Backoffice (Panel de Administración)
Autenticación Segura:
Sistema de login para proteger el acceso al panel de administración.
Gestión de Negocios (CRUD Completo):
Crear, leer, actualizar y eliminar negocios.
El formulario de creación/edición debe permitir cargar toda la información del negocio, incluyendo la capacidad de marcarlo como "Destacado" y seleccionar su ubicación en un mapa para guardar las coordenadas.
Gestión de Categorías (CRUD Completo):
Crear, leer, actualizar y eliminar las categorías de los negocios.
Configuraciones Especiales:
Un apartado para asignar fácilmente qué negocio será la "Farmacia de Turno".
Un sistema para gestionar los anuncios que aparecen en el slider principal del frontend (subir imagen, añadir enlace, activar/desactivar).
Stack Tecnológico Requerido
Frontend:
Framework:
React.js
Estilos: Tailwind CSS (para el diseño responsivo "utility-first").
Navegación: React Router.
Mapas: Leaflet o React wrapper para Google Maps.
Backend:
Entorno:
Node.js
Framework:
Express.js
Autenticación: jwt (json web tokens).
Base de Datos:
Tipo: NoSQL
Sistema: MongoDB (con Mongoose como ODM).
Se proporcionaran capturas de pantalla de interfaces como guia para el diseno.
Prazo de Entrega: Não estabelecido