Leave Management System Server [Spring Boot]
270
A comprehensive Leave Management System built with Spring Boot to streamline how staff apply for and manage their leave.
Run the service with database using Docker Compose:
services:
app:
image: israelmanzi/lms-server:latest
container_name: lms-server
restart: unless-stopped
depends_on:
- db
ports:
- "8080:8080"
env_file:
- .env
environment:
- SPRING_PROFILES_ACTIVE=prod
- SPRING_DATASOURCE_URL=jdbc:postgresql://db:5432/${DB_NAME}
volumes:
- uploads-volume:/uploads
networks:
- lms-network
db:
image: postgres:15-alpine
container_name: lms-db
restart: unless-stopped
env_file:
- .env
environment:
- POSTGRES_DB=${DB_NAME}
- POSTGRES_USER=${DB_USER}
- POSTGRES_PASSWORD=${DB_PASSWORD}
volumes:
- postgres-data:/var/lib/postgresql/data
networks:
- lms-network
volumes:
postgres-data:
uploads-volume:
networks:
lms-network:
driver: bridge
Create a .env file with:
# Database Configuration
DB_NAME=lms-db
DB_USER=masteruser
DB_PASSWORD=masterpass
SPRING_DATASOURCE_URL=jdbc:postgresql://db:5432/lms-db
SPRING_DATASOURCE_USERNAME=masteruser
SPRING_DATASOURCE_PASSWORD=masterpass
# Mail Configuration
[email protected]
SPRING_MAIL_PASSWORD=your-app-password
# JWT Configuration
JWT_SECRET=your-jwt-secret-key
# Admin Configuration
ADMIN_USERNAME=admin
[email protected]
ADMIN_PASSWORD=admin-password
ADMIN_FIRSTNAME=Admin
ADMIN_LASTNAME=User
# Microsoft Authentication (optional)
MICROSOFT_CLIENT_ID=client-id
MICROSOFT_CLIENT_SECRET=client-secret
MICROSOFT_TENANT_ID=tenant-id
MICROSOFT_AUTH_ENABLED=false
| Variable | Description | Required |
|---|---|---|
| DB_NAME | Database name | Yes |
| DB_USER | Database username | Yes |
| DB_PASSWORD | Database password | Yes |
| SPRING_MAIL_USERNAME | Email for sending notifications | Yes |
| SPRING_MAIL_PASSWORD | Email password/app password | Yes |
| JWT_SECRET | Secret key for JWT tokens | Yes |
| ADMIN_PASSWORD | Password for the default admin account | Yes |
| MICROSOFT_CLIENT_ID | Microsoft app client ID | For MS Auth |
| MICROSOFT_CLIENT_SECRET | Microsoft app client secret | For MS Auth |
| MICROSOFT_TENANT_ID | Microsoft tenant ID | For MS Auth |
| MICROSOFT_AUTH_ENABLED | Enable Microsoft authentication | No |
Once the application is running, access the Swagger API documentation at:
The system automatically creates an admin account on first startup with the credentials specified in your environment variables.
latest: The most recent stable build1.0.0: Initial release versionThe source code is available on GitHub
Content type
Image
Digest
sha256:eb0021eb7…
Size
123 MB
Last updated
over 1 year ago
docker pull israelmanzi/lms-server