Plataforma de gestión de stocks construida con Spring Boot (backend) y Angular (frontend), pensada para desplegarse en Google Cloud Platform (GCP).
- Backend: Spring Boot + Java 21 + CockroachDB (compatibilidad PostgreSQL)
- Frontend: Angular 17 + TypeScript
- Cloud: Google Cloud Platform
- Cloud Run (Backend)
- Cloud Storage (Frontend)
- Artifact Registry (Imágenes Docker)
- CI/CD: GitHub Actions
Antes de iniciar el desarrollo, cada persona del equipo debe contar con:
- Java 21 y Maven Wrapper (
./mvnwya incluido). - Node.js 18+ y npm.
- Angular CLI 17+ (
npm install -g @angular/cli). - Acceso a internet para consumir CockroachDB y descargar dependencias.
- (Opcional) Cliente
cockroacho cualquier cliente PostgreSQL para inspeccionar la base.
-
Clonar el repositorio base
git clone <url-del-repo> cd kodehaus_app
-
Crear una rama a partir de la base (usa un nombre descriptivo)
git checkout -b feature/<mi-feature>
-
Configurar las variables de entorno que usará Spring Boot. Se recomienda crear un archivo
.envo exportarlas en la terminal antes de arrancar el backend.Variable Descripción APP_ENVEntorno lógico (ej. prod,test,local).SERVER_PORTPuerto HTTP del backend. SPRING_DATASOURCE_URLURL JDBC hacia CockroachDB/PostgreSQL. SPRING_DATASOURCE_USERNAMEUsuario de la base. SPRING_DATASOURCE_PASSWORDContraseña de la base.
💡 Puedes guardar estas variables en un archivo
stocks-backend/.envy cargarlas con herramientas como direnv osource .env.
- Instala las dependencias (solo la primera vez):
cd bknd ./mvnw dependency:go-offline - Ejecuta la aplicación apuntando al entorno configurado:
./mvnw spring-boot:run
- Verifica el endpoint de salud (útil para despliegues y CI/CD):
curl http://localhost:${SERVER_PORT:-8080}/health
El backend expone la API REST para gestionar stocks y un endpoint /health que valida conectividad con la base de datos.
- Instala dependencias:
cd frnt npm install - Ajusta el archivo
src/environments/environment.tssi necesitas apuntar a otro backend (por defecto usahttp://localhost:8080). - Levanta el servidor de desarrollo:
npm start
- Abre
http://localhost:4200en tu navegador.
- Asegúrate de tener la rama actualizada con
main(git pull origin main). - Desarrolla tus cambios en tu rama feature y agrega tests si corresponde.
- Haz commit de tus cambios y sube tu rama:
git add . git commit -m "feat: describe tu cambio" git push origin feature/<mi-feature>
- Crea un Pull Request en GitHub. El pipeline de CI/CD validará el
/healthy los builds.
Cuando los cambios se fusionan en main:
bknd/se despliega automáticamente a Cloud Run.frnt/se publica en Cloud Storage.
Cada despliegue usa el endpoint /health para validar la aplicación antes de exponerla.
- Mantén las credenciales seguras; no las expongas en issues ni commits.
- Usa el sandbox
testpara experimentar sin afectar producción. - Documenta en el PR cualquier configuración adicional que requiera el equipo.