Este proyecto se divide en tres servicios independientes, cada uno manejado por un equipo distinto. El objetivo es desarrollar un sistema modular, escalable y seguro para la gestión de autenticación y datos personales.
Servicio de autenticación que maneja:
- Registro de usuarios.
- Inicio de sesión.
- Tokens JWT.
- Seguridad general (hash de contraseñas, 2FA, refresh tokens, etc.).
Expone su API en el puerto 5000.
Servicio que administra:
- Datos personales (DNI, nombre, domicilio, etc.).
- Relación entre personas y servicios públicos (becas, residencias, etc.).
- No maneja seguridad directamente (delegado a
auth-service).
Expone su API en el puerto 5001.
Interfaz en React.js para visualizar y operar sobre los datos del backend.
Corre en el puerto 5173.
- Python: 3.13.3 (todos los entornos virtuales usan esta versión).
- Node.js y npm: para el frontend.
- Docker Desktop: para contenedores y ejecución en cualquier sistema operativo.
- Git: para clonar el proyecto.
🔐 Cada servicio tiene su entorno virtual local (
venv) solo para desarrollo, ignorado por GitHub. El entorno en Docker es independiente y se configura mediante losDockerfile.
git clone https://github.com/JuanIBr85/Usuario_Persona.git
cd Usuario_Personacd auth-servicepython -m venv venv
.\venv\Scripts\activate # En PowerShellpython3 -m venv venv source venv/bin/activate # En lugar de .\venv\Scripts\activate de PowerShell
pip install -r requirements.txtnano .env
- Crear un archivo .env con el siguiente contenido:
FLASK_ENV=development FLASK_APP=run.py SECRET_KEY=tu_clave_secreta JWT_SECRET_KEY=tu_clave_jwt
python run.pycd .. # Ir a la carpeta donde esta el archivo docker-compose.yml con la consola.
docker compose up --builddocker compose build auth-service
docker compose up auth-servicecd persona-service/backendpython -m venv venv
.\venv\Scripts\activate # En PowerShellpip install -r requirements.txt- Crear un archivo .env con el siguiente contenido:
FLASK_ENV=development FLASK_APP=run.py
python run.pycd .. # Ir a la carpeta donde esta el archivo docker-compose.yml con la consola.
docker compose up --builddocker compose build persona-backend
docker compose up persona-backendcd .. # Ir a la carpeta donde esta el archivo docker-compose.yml con la consola.docker compose build persona-frontend
docker compose up persona-frontenddocker compose up --build