Desarrollo de los sitios web profesionales.top,choferes.top y escritores.top
Documentación de usuario
2025-12-29
**Alcance y objetivos:
**
- Propósito: Marketplace de servicios de chofer y profesionales (“Top” como vitrina general, “Choferes.top” enfocado en movilidad).
- Modelos de uso: Match entre cliente y prestador con gestión de pedidos, agenda, pagos y reputación.
- Roles: Administrador, Cliente, Prestador de servicio.
**Estructura de base de datos mínima
**
Entidades principales
- Usuarios: Perfil y autenticación.
- Servicios: Ofertas publicadas por prestadores.
- Pedidos: Solicitudes de clientes hacia un servicio.
- Mensajes: Chat entre cliente y prestador.
- Calificaciones: Reputación y feedback post-servicio.
- Pagos: Registro de transacciones y estados.
- Auditoría: Trazabilidad de acciones relevantes.
Tablas y campos clave
-
Usuarios
- id: UUID
- rol: admin | cliente | prestador
- email: único
- hash_password: string
- nombre: string
- telefono: string
- estado: activo | suspendido
- createdat / updatedat: datetime
-
Perfiles_prestador
- id: UUID
- usuario_id: FK usuarios.id
- titulo: string
- descripcion: text
- zona: string (ciudad/provincia)
- disponibilidad: json (franjas horarias)
- documentacion_verificada: boolean
- rating_promedio: decimal(2,1)
-
Servicios
- id: UUID
- prestadorid: FK perfilesprestador.id
- categoria: string (ej. “chofer”, “profesional”)
- subcategoria: string (ej. “traslados urbanos”)
- precio_base: decimal
- unidad: porhora | portrayecto | fijo
- politica_cancelacion: enum (flexible | moderada | estricta)
- activo: boolean
-
Pedidos
- id: UUID
- cliente_id: FK usuarios.id
- servicio_id: FK servicios.id
- prestadorid: FK perfilesprestador.id
- fecha_solicitada: datetime
- origen / destino: string (para choferes)
- detalle: text
- monto_estimado: decimal
- estado: pendiente | aceptado | en_progreso | completado | cancelado
- motivo_cancelacion: text (nullable)
- createdat / updatedat: datetime
-
Mensajes
- id: UUID
- pedido_id: FK pedidos.id
- emisor_id: FK usuarios.id
- contenido: text
- leido: boolean
- created_at: datetime
-
Calificaciones
- id: UUID
- pedido_id: FK pedidos.id
- clienteid / prestadorid: FK
- puntaje: int (1–5)
- comentario: text
- created_at: datetime
-
Pagos
- id: UUID
- pedido_id: FK pedidos.id
- monto: decimal
- moneda: string (ARS)
- metodo: string (ej. “MercadoPago”, “transferencia”)
- estado: iniciado | aprobado | rechazado | reembolsado
- referencia_gateway: string
- createdat / updatedat: datetime
-
Auditoria
- id: UUID
- usuario_id: FK usuarios.id
- accion: string (ej. “login”, “crearpedido”, “cambiarestado”)
- entidad: string (ej. “pedido”, “servicio”)
- entidad_id: UUID
- ip: string
- metadata: json
- created_at: datetime
Roles y permisos
- Administrador
- Permisos: CRUD global de usuarios/servicios, moderación de contenido y calificaciones, verificación documental, gestión de políticas y categorías, reportes y métricas.
- Cliente
- Permisos: Crear pedidos, chatear, pagar, calificar prestadores, editar perfil, cancelar según política.
- Prestador de servicio
- Permisos: Publicar/editar servicios, aceptar/rechazar pedidos, chatear, marcar progreso y completar, emitir facturas/recibos, configurar disponibilidad y zonas.
**User stories esenciales
**
- Administrador
- Moderación: Como admin quiero listar y filtrar servicios y calificaciones para ocultar contenido inapropiado.
- Verificación: Como admin quiero marcar perfiles como verificados para aumentar la confianza.
- Reportes: Como admin quiero ver métricas de pedidos y conversiones …