Sobre este projeto
it-programming / web-development
Aberto
Contexto Geral do Projeto
Funcionalidades Principales a Desarrollar (Backend): Autenticación y Gestión de Usuarios (Base iniciada, requiere completar y refinar): Registro/Login con JWT (Comprador, Vendedor Individual, Agente, Admin Empresa). Perfil de usuario (/me), recuperación de contraseña (opcional). Middlewares protect (autenticación) y authorize (roles). CRUD de usuarios para el Administrador del Sitio. Gestión de Datos Maestros (Marcas, Modelos, Versiones, Ubicaciones): Modelos: Definir schemas Mongoose para Make, Model, Version, Country, Region, City (con sus respectivos códigos y nombres). Endpoints API (para Admin y selectores del frontend): get /api/makes, get /api/models?makeid=:makeid, get /api/versions?modelid=:modelid&year=:year get /api/countries, get /api/regions?countrycode=:countrycode, get /api/cities?regioncode=:regioncode crud completo para admin del sitio: para gestionar todos estos datos maestros. Scripts de Seed: Para poblar inicialmente estas colecciones (ej. Países, marcas comunes). Gestión de Autos (CRUD Completo y Avanzado): Modelo Car (Actualizado): Referencias a makeId, modelId, versionId. Location con countryCode, regionCode, cityCode, addressLine1, zipCode, coordinates (opcional). Campos estándar: año, precio, kilometraje, VIN, descripción, customFeatures, imágenes, estado, listedBy, companyId, contactInfo, views, isFeatured. Endpoints api: post /api/cars: crear auto (payload con ids/códigos de datos maestros). Manejo de subida de múltiples imágenes (Cloudinary/S3). GET /api/cars: Listar autos con: Paginación robusta. Filtros múltiples y combinables: makeId, modelId, versionId, rango de year, rango de price, countryCode, regionCode, cityCode, tipo de vehículo (ej. Sedán, SUV - podría derivarse de Version.bodyStyle o ser un campo aparte), tipo de vendedor (individual, empresa), combustible, transmisión, etc. (Similar a los filtros de Chileautos). Ordenamiento por diversos criterios. Populamiento/agregación de nombres de marca, modelo, ubicación para eficiencia del frontend. GET /api/cars/:id: Detalle del auto (incrementar vistas). PUT /api/cars/:id: Actualizar auto. DELETE /api/cars/:id: Eliminar auto. GET /api/cars/user/:userId y GET /api/cars/company/:companyId. Endpoint para categorías en Homepage: GET /api/cars/categorized?category=SUVs&limit=10 o similar para obtener autos para las "filas tipo Netflix" (ej. "Recién Agregados", "SUVs Populares", "Sedanes Económicos"). La lógica de qué define una categoría puede ser por bodyStyle, isFeatured, o criterios combinados. Gestión de Empresas de Ventas (CRUD Completo): Modelo Company: Campos estándar, lista de agents (IDs de usuario). Endpoints para CRUD de empresas, y gestión de agentes por parte del admin_empresa. Panel de Administración del Sitio (Backend Support): Endpoints para que el admin_sitio gestione usuarios, autos, empresas y todos los datos maestros. Stack Tecnológico Requerido: Node.js, Express.js, MongoDB con Mongoose JWT, bcryptjs, Multer, (Cloudinary sdk o aws sdk) habilidad para diseñar esquemas eficientes y consultas optimizadas en mongodb (uso de índices, agregaciones). Entregables Esperados: Código fuente backend completo, bien estructurado, comentado y versionado en Git. Colección Postman/Insomnia exhaustiva. Documentación de API clara. Scripts de seed para datos maestros y datos de prueba. Consideraciones Adicionales: Se trabajará sobre una base de código con autenticación iniciada. Prioridad en la seguridad, rendimiento y escalabilidad de la API. Presupuesto y Plazo: Indicar tarifa/presupuesto y estimación de tiempo. ¡Esperamos tu propuesta para este emocionante proyecto!
Categoria TI e Programação
Subcategoria Programação
Qual é o alcance do projeto? Alteração média
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Não se aplica
Disponibilidade requerida Conforme necessário
Integrações de API Mídias sociais (Facebook, Twitter, etc)
Funções necessárias Desenvolvedor
Prazo de Entrega: Não estabelecido
Habilidades necessárias