Instalación¶
Guía para instalar y configurar Amani localmente.
Requisitos previos¶
| Herramienta | Versión | Verificar |
|---|---|---|
| Java | 21+ | java --version |
| Maven | 3.9+ | mvn --version |
| PostgreSQL | 14+ | psql --version |
| Git | — | git --version |
Clonar repositorio¶
Configurar base de datos¶
Opción A: Docker Compose (recomendado)¶
Opción B: Instalación manual¶
# Crear base de datos
psql -U postgres -c "CREATE DATABASE psicologia_app;"
# Ejecutar script SQL
psql -U postgres -d psicologia_app -f src/main/resources/amani.sql
Configurar variables de entorno¶
Archivo: src/main/resources/application.properties
# Database
spring.datasource.url=jdbc:postgresql://localhost:5433/psicologia_app
spring.datasource.username=postgres
spring.datasource.password=Sandia4you
# JWT
jwt.secret=tu-segredo-jwt-aqui-minimo-256-bits
jwt.expiration=86400000
# Firebase (opcional - para notificaciones push)
firebase.database.url=https://tu-proyecto.firebasedatabase.app/
# Email (SMTP)
spring.mail.host=localhost
spring.mail.port=1025
spring.mail.username=noreply@apppsicologas.com
# Upload
file.upload-dir=uploads
Firebase
El archivo de credenciales Firebase (serviceAccountKey.json) es opcional. La aplicación arranca sin él.
Compilar y ejecutar¶
Con Maven Wrapper¶
Con Maven global¶
Como JAR¶
Verificar¶
La aplicación estará disponible en:
| Servicio | URL |
|---|---|
| API REST | http://localhost:8080 |
| Swagger UI | http://localhost:8080/docs |
| API Docs (JSON) | http://localhost:8080/v3/api-docs |
Credenciales por defecto¶
| Contraseña | |
|---|---|
admin@amani.com | admin1234 |
Comandos útiles¶
Limpiar proyecto¶
Ejecutar tests¶
Generar informe de calidad¶
Compilar sin tests¶
Despliegue con Docker¶
Dockerfile¶
FROM openjdk:21-jdk-slim
COPY target/amaniApirest-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "/app.jar"]
Docker Compose¶
Ver: docker-compose.yml en repositorio.
Problemas comunes¶
Error: Falta el esquema psicologia_app
Error: JWT secret not configured
Configurar jwt.secret en application.properties.
Error: Database connection refused
Verificar que PostgreSQL esté corriendo y las credenciales sean correctas.
Checklist de instalación¶
- Java 21 instalado
- PostgreSQL ejecutándose (puerto 5433)
- Base de datos
psicologia_appcreada - Script SQL ejecutado
-
application.propertiesconfigurado -
./mvnw spring-boot:runfunciona - Swagger UI visible en
/docs