Esta es la plataforma de registro para la creación de una Cuenta Única ciudadana, la cual tiene como finalidad simplificar la obtención de Servicios Gubernamentales, permitiendo a los ciudadanos el acceso a los portales, trámites y servicios que las instituciones ofrezcan de forma digital, con una única cuenta. El proceso de registro consiste en identificarse con su número de cédula, realizar una prueba de vida y crear su cuenta seleccionando un correo y contraseña.
- El usuario se identifica con su número de cédula:
- Se consulta el API de la JCE para obtener la información de la misma
- Acepta términos y condiciones (en proceso de revisión)
- Realiza una prueba de vida:
- Se toman fotos y se hace una validación con tecnología de anti-spoofing (validar que no sea una grabación, deepfake, etc.)
- Si la prueba de vida es exitosa se validan las fotos capturadas contra la foto de la cédula de identidad de la Junta Central Electoral (JCE).
- El ciudadano selecciona un correo y una contraseña para la creación de su cuenta:
- La contraseña debe cumplir con el estándar de NIST 800-63B
- Como parte del estándar NIST también se evalúa que la contraseña no se encuentre en filtraciones de datos en internet.
- Se envía un correo de verificación con un enlace que debe clickear
- Se habilita la cuenta en la plataforma de Gestión de Identidades y Accesos (IAM)
- Ya está listo para usar su cuenta en los portales del Estado Dominicano
Existen 2 formas de instalar la aplicación en su máquina o servidor. La forma más fácil y recomendada es utilizando Docker
:
git clone --depth 1 https://github.com/opticrd/cuenta-unica-registry.git
cd cuenta-unica-registry
docker build --target runner -t cuenta-unica .
docker run -d cuenta-unica
La segunda es utilizando pnpm
:
git clone https://github.com/opticrd/cuenta-unica-registry.git
cd cuenta-unica-registry
pnpm install
pnpm start
Warning
Actualmente este aplicativo depende de múltiple servicios externos para su funcionamiento, por lo que puede ser complejo replicar el proyecto en su totalidad en un ambiente local.
Confirma que tengas todas las variables de entorno configuradas como actualmente se establecen en el archivo de ejemplo .env.example
.
Este proyecto depende de las siguientes recursos externos:
- El API de consulta de cédulas de la Junta Central Electoral
- reCAPTCHA Enterprise
- Amazon Rekognition Face Liveness
- Ory Kratos
- Framework: Next.js
- Lenguaje: TypeScript
- UI Framework: Material UI
- Liveness Detection: Amazon Rekognition Face Liveness
- IAM: Ory Kratos
- Case Management: Ballerine (en proceso de implementación)
- CI/CD: GitHub Actions
- Interoperabilidad: X-Road
- Hosting: Google Cloud Platform
- Visual Studio Code: instale VS Code .
- Docker: asegúrese de que Docker esté instalado en su máquina.
- Extensiones de VS Code: instale la extensión "Dev Containers" en VS Code.
Dentro de su espacio de trabajo de VS Code
, existe una carpeta llamada .devcontainer
.
Dentro de esta carpeta, existe un archivo llamado devcontainer.json
que se utiliza para definir la configuración del contenedor.
Se deben de hacer los ajustes necesarios como Dockerfile, Docker Compose, puertos, montajes de volumen, variables de entorno, etc.
- Abra su proyecto en
VS Code
. - Ejecute la paleta de comandos de VS Code (
Ctrl+Shift+P
oCmd+Shift+P
) y seleccione el comando"Dev Containers: Open Folder in Container"
. - Seleccione el espacio de trabajo que contiene la configuración del contenedor definida en la carpeta
.devcontainer
.
Dentro de su espacio de trabajo de VS Code
, existe un archivo llamado launch.json
ubicado en la carpeta .vscode
.
Este archivo contiene las configuraciones para depurar su aplicación específica.
- Dirijase al apartado Run and Debug in Visual Studio Code o presione
Ctrl+Shift+D
- Seleccione la opción de debug en la lista desplegable.
- Haga clic en el botón "Iniciar depuración" o presione
F5
. Si desea reiniciar la depuración presioneCtrl+Shift+F5
- Esto debería iniciar su aplicación dentro del contenedor Docker y permitirle depurarla.
Para detener un contenedor de desarrollo en Visual Studio Code, puede seguir estos pasos:
- Abra la paleta de comandos presionando
Ctrl+Shift+P
(Windows/Linux) oCmd+Shift+P
(Mac). - Escriba y seleccione
"Remote: Close Remote Conenction"
.
Alternativamente, puede ir a la esquina inferior derecha de la ventana de VS Code donde verá el ícono verde "><". Al hacer clic en él, se mostrará el Explorador remoto. Desde allí, puede hacer clic derecho en el contenedor asociado con su proyecto y seleccionar "Remote: Close Remote Conenction"
. Esta acción detendrá el contenedor asociado con su proyecto. Si desea iniciarlo de nuevo, puede utilizar el comando "Dev Containers: Open Folder in Container"
.
Tener en cuenta que detener el contenedor no lo eliminará; simplemente lo detiene. Si desea eliminar el contenedor por completo, puede hacerlo usando los comandos de Docker en la terminal o usando una herramienta GUI de Docker.
- Gustavo Valverde - Product Manager - @gustavovalverde
- Marluan Espiritusanto - Technical Lead - @marluanespiritusanto
- José Álvarez - Developer - @JE1999
- Jeffrey Mesa - Developer - @jeffreyart1
- Deyvison García - UI/UX Designer - @DeyvisonGarcia
- Genesis Alvarez - DevOps - @UsernameAlvarez
Próximamente podrás tener más información sobre el proyecto en https://cuentaunica.gob.do/