#+title: Diagrama De Clases [[./DiagramaDeCLases.png]] #+BEGIN_SRC plantuml @startuml skinparam groupInheritance 2 class Usuario { + Recordatorios: List } class Profesional { + Curriculum: File + Certificados: + Ubicacion: String + Nivel: int } class Administrador { } class Persona { + Nombre: String + Apellido: String + DNI: long + Email: String } Persona <|-- Profesional Persona <|-- Usuario Persona <|-- Administrador class Reclamo { + Contrato: Contrato + MotivoReclamo: String + FechaReclamo: DateTime + Estado: Estado } class Servicio { + Nombre: String + Descripcion: String } class Recordatorio { + Contrato: Contrato + Hora: TimeOnly + Fecha: DateTime + Lugar: String } class Publicacion { + Codigo: int + Profesional: Profesional + Tarifa: double + TipoServicio: Servicio + HorasDeTrabajo: ?? + Estado: Estado } class PreContrato { + Contratador: Usuario + Publicacion: Publicacion } class ComprobanteDePago { + FormaDePago: FormaDePago + Monto: double } enum FormaDePago { - Efectivo - Debito - Credito } class Contrato{ + PreContrato: PreContrato + Profesional: Profesional + Usuario: Usuario + ComproanteDePago: ComprobanteDePago } class Reseña { + Usuario: Usuario + Comentario: String + Publicacion: Publicacion } enum Estado{ - Pendiente - Rechazado - Disponible } Publicacion "1 ." -- "1 ." Servicio Publicacion "1" -- "1 ." Profesional Publicacion "1" -- "1" Estado PreContrato "1" -- "1" Publicacion PreContrato "1" -- "1" Usuario Recordatorio "0..* " -- "1 ." Usuario Recordatorio "1" -- "1" Contrato Contrato "1" -- "1" PreContrato Contrato "1" o-- "1" Reclamo Contrato "1" -- "1" ComprobanteDePago Contrato "1" *-- "1" Profesional Contrato "1" *-- "1" Usuario ComprobanteDePago "1" -- "1" FormaDePago Reclamo "1 ." -- "1" Estado Reclamo "1" -- "1" Usuario Reseña "1..*" -- "1" Usuario Reseña "0..*" -- "1" Publicacion @enduml #+END_SRC