---
# System prepended metadata

title: Untitled

---

## 1. Tipos de usuario: 

Completar el siguiente cuadro resumen: 

|**Tipo de usuario**|**Breve descripción**|**Motivación**|
|:---:|:---:|:---|
|Persona Natural (Usuario)|Usuario mas convencional (popular/comun/recurrente) de la plataforma. Este usuario ingresa por motivos profesionales a la plataforma y construye su perfil (**validado**)  profesional (**confiable**). |1. Construir una suerte de CV en el que pueda transparentar su vida profesional. <br> 2. Encontrar oportunidades profesionales/laborales. Referencias personales. <br> 3. Ser validado por la comunidad Soubid |
|Empresas|Cualquier entidad (valida) que genere empleos en cualquier industria.| 1. Reclutamiento <br> 2. Visualización y  Reconocimiento <br> 3. Ser validado por la red/comunidad Soubid|
|Casas de estudio|Entidades educacionales, ya sea escolares, tecnicas, profecionales, post-grado, etc. que eduque (y certifique de este proceso) a personas naturales|1. Visualización - Reconocimiento <br> 2. Ser validado por la comunidad Soubid|
|Super Admin (Soubid)|Miembros del equipo de Soubid (desarrollo y negocio) que interactuan por distintos motivos con la plataforma|1. Monitoreo <br> 2. Soporte <br> 3. Metricas |


## 2. Conceptos Importantes

Definir algunos conceptos o flujos que son importantes para entender los casos de uso. Algunos de estos son: 

1. Perfil de usuario
2. Perfil de empresa
3. Validaciones y verificaciones 
4. Score de verificación? Niveles?
5. Blog
6. Otro?



## 3. Roles y permisos

Mencionar algunos de los principales permisos y sus atuales roles

1. Usuario 
2. Tipo de perfil ()
3. 


## 4. Casos de uso

#### 1. Persona Natural

Suscripción/pago es MVP? Si
 
1. Creación de usuario: 
	1. Entrar a landing Soubid
	2. Llenar formulario con datos basicos
	3. Recibo correo de bienvenida

2. Completar información personal
	1. Por definir con ux/ui	
	2. Seleccionar tema de preferencia
	3. 


3. Registro de información educacional y profesional
	1. Por definir con ux/ui
	2. Seleccionar tipo de entrada (en lo educacional: titulo universitario, magister, diplomado, etc.)
	3. 	Seleccionar tipo de entrada (en lo profecional: trabajo, cargo, proyecto, reconocimiento, etc)
	4. solicitar validación


4. Validación biometrica
	1. Definir flujo de validación dependiendo de motor de validación y ux/ui

	
CON LOS PASOS ANTERIORES SE COMPLETA UN USUARIO


5. 	Subir contenido
    1. Seleccionar tipo de contenido (**Por definir tipos de contenido iniciales**) (pdf, foto, etc)
	2. Seleccionar el tag/tema asociado. (derecho de agua, etc.)
	3. Por definir ux/ui
	4. Pre visualizar contenido
	5. Subir

6. Navegación por **todo el contenido**
	1. Mostrar contenido según tag/tema(s?) de preferencia
	2. Dejar like
	3. Dejar comentarios 
	4. Dejar comentarios de comentarios 
	5. Compartir en otras redes sociales (links)

7. Compartir en linkedin/twitter

    Dos opciones: 
    - Integracion con plataformas
    - Post "llegar y subir"

8. Validar otros usuarios: Asumiendo que yo ya tengo un campo validado, puedo validar a un tercero. 
	1. Validar compañero de estudios / de trabajo
	2. Enviar correo a persona validadora (???????????????)

9. Solicitar validación
	1. Pedir a empresa o tercero que valide estudios, trabajo, etc. 
	2. Enviar correo a empresa o tercero.

10. Cambiar de tipo de usuario
    1. Elegir entre usar cuenta de persona natural,  o en alguna de las empresas/casas de estudio que este administrando.


#### 2. Empresa

1. Crear empresa
	1. Ingreso de información general de empresa
	2. Ingreso de Rut
	3. Tipo de sociedad
	4. Documentos legales
	5. Documentos de representación legal (quizas)
	6. Enviar solicitud de inscripción
	7. Recepción de correo de inscripción por parte de Super Admin (Soubid).

2. 	Subir contenido
	1. Seleccionar tipo de contenido (**Por definir tipos de contenido iniciales**)
	2. Por definir con ux/ui
	3. Pre visualizar contenido
	4. Subir

3. Navegación por **todo el contenido**
	1. Mostrar contenido según tag/tema(s?) de preferencia
	2. Dejar like
	3. Dejar comentarios 
	4. Dejar comentarios de comentarios 
	5. Compartir en otras redes sociales (links)
 
4. Validar colaboradores
	1. Validar la experiencia laboral que un colaborador "dice tener".
	2. Cálculo de porcentaje de validación de persona respecto a experiencia laboral.
	3. Enviar correo a usuario solicitante con la respuesta.

5. Administrar roles de usuarios
	1. Agregar usuarios a la empresa con su respectivo rol
	2. Admininstrar roles de los distintos usuarios de la empresa

#### 3. Universidades/Casas de estudio

1. Crear casa de estudio
	1. Ingreso de información personal
	2. Ingreso de Rut (pendiente)
	3. Tipo de sociedad
	4. Documentos legales
	5. Documentos de representación legal (quizas)
	6. Enviar solicitud de inscripción
	7. Recepción correo de inscripción por parte de Super Admin (Soubid).

2. 	Subir contenido
    1. Seleccionar tipo de contenido (**Por definir tipos de contenido iniciales**) (pdf, foto, etc)
	2. Seleccionar el tag/tema asociado. (derecho de agua, etc.)
	3. Por definir ux/ui
	4. Pre visualizar contenido
	5. Subir

3. Navegación por **todo el contenido**
	1. Mostrar contenido según tag/tema(s?) de preferencia
	2. Dejar like
	3. Dejar comentarios 
	4. Dejar comentarios de comentarios 
	5. Compartir en otras redes sociales (links)

4. Validar colaboradores/estudiantes/premios o reconocimientos
	1.  Validar la experiencia que un colaborador/estudiante "dice tener".
	2.  Cálculo de porcentaje de validación de persona natural respecto a estudios.

5. Administrar roles de usuarios
	1. Agregar usuarios a la casa de estudio
	2. Admininstrar roles de los distintos usuarios de la casas de estudio

#### 4. Super Admin

1. Ver listado de usuarios
2. Ver detalle de usuario
3. Navegar por todo el contenido
4. Ver listado de empresas
5. Ver detalle de empresa
6. Ver listado de casas de estudio
7. Ver detalle de casas de estudio
8. Revisar solicitudes de empresa (aprobar y rechazar *pedir cambios)
9. Dashboard mínimo (numeros mencionados anteriormente, empresas agregadas en el mes por ejemplo, etc) 

## Con respecto a usuario naturales y empresas/casas de estudio

Ante la opcion de permitir ingresar a la plataforma se consideraron dos opciones:

1. Ingresar con cuenta de usuario natural, o con cuenta de empresa/casa de estudio.
2. Ingresar solo con cuentas de usuarios naturales, y que ellos puedan administrar las empresas a través de estas. Esto implica que la empresa va acogiendo usuarios (como una especie de organización).

Esto presenta distintos pros y contras:

Opcion 1):
- Pros: 
    - La complejidad se reduce al no tener que manejar roles dentro de una empresa.
    - Se pueden usar fronts y apis distintas para usuario y empresas, en lugar de considerar todo en una (acoplamiento).
- Contra: 
    - Se debe compartir las mismas credenciales entre todas las personas que usen la misma empresa/casa de estudio.
    - Si una persona escribe articulos como parte de la empresa, no se acredita para esto, y si es expulsado no puede recuperar sus contribuciones.

Opcion 2):
- Pros:
    - Los usuarios que pertenezcan a empresas/casas de estudio puede usar su email personal.
    - Una persona asociarse a múltiples empresas/casas de estudio y contribuir a ellas con su cuenta personal, en lugar de cerrar sesion e ingresar como la empresa/casa de estudio respectiva.
- Contra:
    - La complejidad crece debido al manejo de roles dentro una empresa/casa de estudio.
    - No es posible tener api y front dedicada para usuario y otras para empresas.


Se decidió implementar la opcion 2. Esto implica la creación de los siguientes roles de usuarios dentro una empresa:
- Validador
- Contribuidor
- Admin

Tambien, el usuario que crea la empresa queda asociado a ella como owner (transferible) y con rol inicial Admin.

Además, es importante diferenciar entre usuarios que tienen relacion con la empresa (han o estan trabajando actualemente en ella), y usuarios que cumplen funciones en ella, es decir, poseen un rol en ella y pueden interactuar con Soubid como la empresa.

## Otros
- Soportar idiomas
- Visualización de perfiles (usuario, empresa, casa de estudio) de parte de cualquier usuario.


## Dudas
- Como usuario natural, para validar la experiencia laboral de un compañero/ ex compañero de trabajo, tiene que antes pedirme la validación? O puedo saltarme ese paso?
- Cómo va a ser la validación biométrica de identidad?
- ¿Qué tags vamos a utilizar? ¿Los usuarios pueden crear nuevos? ¿Las experiencias laborales y educacionales van a tenerlos?
- Que tipo de contenido puede crear el usuario? Solo texto? O puede acompañar el texto con una foto, video, pdf, etc..? Puede crear algo sin texto?
- Para el tema de validacion de creacion de empresas, se usaran inicialmente documentos legales chilenos, asi como tambien rut de empresas.
- Se querrá subir contenido del estilo "post de instragram" como "hoy fuimos con Cloudcar al karting" + fotos? ¿Se querrá subir un pdf + una foto + escribir algo?


## Notas aparte:
- La experiencia tendra draft, y pasará a seer experiencia como tal solo cuando al tenga al menos una validación.
- Las instituciones pueden rechazar validaciones. Las personas naturales no pueden.
- Los usuarios no van a tener puntaje de verificación, solo sus experiencias.

#### Reunión Martín (23 dic 2022): 
- Lógica para ver qué mostrar en el feed.
- Un tipo de proyecto que crece harto, meterle flexibilidad, hacer la menor cantidad de supuestos posible (las + cLagonas ojalá)
- Mantener mentalidad MVP
- Dificultades choras:
    - Abstracciones con los tipos de contenido.
    - Pueden haber despues distintos tipos de instituciones (institucion publica por ejemplo)
    - Feed: el priorizar publicaciones por sobre otras, tenerlas precalculadas, deberiamos tener un peso en content (contentWeight), podria prioizarse por cantidad de likes. O olvidar eso y solo mostrar por orden de creacion y filo.  [buena pregunta]
    - Scroll infinito
- Es B2C, de repente la gente es tendenciosa, es un tipo de negocio más o menos dificil. 
- Relacional orientado a objetos (no necesariamente la base de datos). Dar flexibilidad con interfaces y composición.
- Estimacion de 4-5 meses
- Para el feed, graphql está perfecto y no relacional. Para lo demás, es mejor relacional. Para esto, mejor ver casos de uso.

- Stack:
    - Investigar si usar Next (no como monolito) como front en vez de React.
    - Clean en ambos lados
    - No se sabe si usar GraphQL
    - Serverless
    - Apollo server solo si usamos Graphql, si es rest usamos Express
    - Quizas tener dos tipos de BBDD