Loading repository data…
Loading repository data…
Vikus7 / repository
Sistema de administración de clientes empresariales (B4B/JDE), desarrollado con Spring Boot para el backend y React para el frontend. Proyecto creado como parte de un reto técnico de desarrollo, enfocado en gestión de clientes, seguridad y escalabilidad.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Solución full-stack para gestión de clientes B2B con API REST, autenticación JWT y frontend React.
| 👤 Autor | Victor Rodriguez |
|---|---|
| victtor.rodriguez01@gmail.com |
| Campo | Valor |
|---|---|
| Usuario | admin |
| Contraseña | admin123 |
docker compose up --build
Esto levanta los tres servicios automáticamente:
| Servicio | URL |
|---|---|
| Frontend | http://localhost:3000 |
| Backend | http://localhost:8080 |
| PostgreSQL | localhost:5432 |
Para detener:
docker compose down
Nota: los datos persisten entre reinicios gracias al volumen
paco_postgres_data. Para eliminar también los datos usadocker compose down -v.
Observacion (Linux / Mac): si Docker presenta errores de permisos o acceso al daemon, prueba ejecutar con privilegios:
sudo docker compose up --build
En algunos equipos corporativos, el build del backend puede fallar al descargar dependencias Maven por inspeccion SSL.
backend/certs/ (por ejemplo backend/certs/corporate-ca.crt).docker compose up --build
Fallback temporal sin certificado (solo desarrollo):
PowerShell:
$env:BACKEND_MAVEN_ARGS="-DskipTests package -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true"
docker compose up --build
Linux / Mac:
BACKEND_MAVEN_ARGS="-DskipTests package -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true" docker compose up --build
Requisitos: Java 25, Maven, Node.js 20+, PostgreSQL 16 corriendo en localhost:5432 con base de datos paco_db.
Backend:
cd backend
./mvnw spring-boot:run
Frontend (en otra terminal):
cd frontend
npm install
npm run dev
Con el backend corriendo, accede a la documentación interactiva en:
Esquema JSON disponible en: http://localhost:8080/v3/api-docs
| Método | Endpoint | Auth | Descripción |
|---|---|---|---|
| POST | /api/auth/login | No | Obtiene token JWT |
| GET | /api/clients | Bearer | Lista todos los clientes |
| GET | /api/clients/{id} | Bearer | Obtiene un cliente |
| POST | /api/clients | Bearer | Crea un cliente |
| PUT | /api/clients/{id} | Bearer | Actualiza un cliente |
| DELETE | /api/clients/{id} | Bearer | Desactiva un cliente |
app_user, b4b_customer e integration_event_log se crean automáticamente al arrancar vía schema.sql.JwtAuthenticationFilter valida el token en cada request protegido.ddl-auto=validate para que Hibernate verifique el esquema sin modificarlo.status a INACTIVE y registra el evento en integration_event_log.DB_HOST, DB_PASSWORD, JWT_SECRET, etc.) se lee desde variables de entorno con valores por defecto para desarrollo local.localStorage.try_files para soportar el enrutamiento SPA.