| Caso de uso | REQ-38 Como CAEQ quiero tener una lista de candidatos que cumplan con los requisitos para determinar quién puede votar. |
|---|---|
| Actores | Administrador CAEQ |
| Tipo | MVP |
| Referencias | N/A |
| Precondición | El usuario debe estar registrado en la plataforma y contar con su información actualizada en el sistema para cumplir con los requisitos. |
| Postcondición | Mostrar únicamente los posibles candidatos a ser presidente o votar. |
| Descripción | El usuario de tipo administrador del CAEQ accede al directorio donde se muestra la lista de los colegiados que tienen la posibilidad de votar (Derechos vigentes). |
| Resumen | Administrativo del CAEQ consulta lista de arquitectos candidatos a votar. |
@startuml
start
:Usuario selecciona la pantalla de lista de candidatos;
if (Lista de candidatos) then (Sí)
:Sistema muestra Lista completa de colegiados candidatos;
else (No)
:Sistema muestra mensaje de error "No hay datos disponibles";
endif
:Usuario cierra la pantalla de lista de candidatos;
stop
@enduml



@startuml
database "Mongo DB" {
folder "Architect Users" {
[architect.users]
}
}
node "Backend" {
folder "models" {
[architect.users.model.js]
}
folder "controllers" {
[architect.user.controller.js]
}
folder "routes" {
[architect.users.routes.js]
}
folder "Backend utils" {
[apiFeatures.js]
[catchAsync.js]
}
[App.js]
}
node "Frontend" {
folder "screens" {
[Directory.js]
}
folder "components" {
folder "inputs" {
[DropdownInput.js]
}
folder "Table" {
[InteractiveTable.js]
}
}
folder "client" {
folder "ArchitectUser" {
[ArchitectUser.GET.js]
}
}
folder "utils" {
[alertHandler.js]
}
}
[Directory.js] --> [ArchitectUser.GET.js]
[Directory.js] --> [BaseButton.js]
[Directory.js] --> [DropdownInput.js]
[Directory.js] --> [InteractiveTable.js]
[Directory.js] --> [alertHandler.js]
[ArchitectUser.GET.js] --> [architect.users.routes.js]
[architect.users.routes.js] --> [architect.user.controller.js]
[architect.user.controller.js] --> [apiFeatures.js]
[architect.user.controller.js] --> [catchAsync.js]
[architect.user.controller.js] --> [architect.users.model.js]
[architect.users.model.js] --> [Mongo DB]
@enduml

GET /architectusers
{
"status": "success",
"data": {
"document" : {
collegiateNumber: 98765,
fullName: 'Luis García',
memberType: 'Miembro de número',
classification: 'Docente',
DRONumber: 'DRO98765',
authorizationToShareInfo: true,
lifeInsurance: false,
lifeInsureID: '9937557b',
age: 40,
gender: 'Hombre',
cellphone: 5551112222,
homePhone: 5553334444,
officePhone: 5555556666,
emergencyContact: 'Ana García 5557778888',
mainProfessionalActivity: 'Ingeniero Civil',
dateOfAdmission: 2002,
dateOfBirth: new Date('1983-07-20'),
municipalityOfLabor: 'Ranchuca',
linkCV: '<https://example.com/luisgarcia-cv>',
university: 'Universidad Autónoma de Querétaro',
professionalLicense: 'P98765',
workAddress: '123 Avenida Principal, Querétaro',
homeAddress: '456 Calle Secundaria, Querétaro',
positionsInCouncil: 'Vocal',
capacitationHours: 90,
annuity: true,
email: '[email protected]',
password: 'password123',
passwordConfirm: 'password123',
}
}
}