Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .env
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
EFS_FILE_DIRE=/tmp/efs

# DATASOURCE
SPRING_DATASOURCE_URL=jdbc:postgresql://postgres:5432/mydb
SPRING_DATASOURCE_USERNAME=postgres
SPRING_DATASOURCE_URL=jdbc:postgresql://postgres:5432/etl_job
SPRING_DATASOURCE_USERNAME=nabeel.amd93
SPRING_DATASOURCE_PASSWORD=admin
SPRING_KAFKA_BOOTSTRAP_SERVERS=kafka:9092

Expand Down
40 changes: 37 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,38 @@
# Maven
/target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
.flattened-pom.xml

# IDE
.idea/
*.iml
*.iws
*.ipr
*.swp
*.swo
*~

# OS
.DS_Store
Thumbs.db

# Compiled Classes
*.class

# Logs
logs/
*.log
*.log.*

# Application specific
/tmp/
/logs/
.env.local
*.jks
*.p12

logs/process.log
.idea/misc.xml
.idea/misc.xml
11 changes: 11 additions & 0 deletions .idea/awsToolkit.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

126 changes: 111 additions & 15 deletions .idea/dbnavigator.xml

Large diffs are not rendered by default.

20 changes: 15 additions & 5 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,20 +1,30 @@
# Use a lightweight OpenJDK image
FROM openjdk:8-jdk-alpine
# Use a lightweight OpenJDK 17 image
FROM eclipse-temurin:17-jdk

# Maintainer info
LABEL maintainer="nabeel.amd93@gmail.com"

# Expose port
# Set working directory
WORKDIR /app

# Install curl for health checks
RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/*

# Expose port for application
EXPOSE 9098

# Add a volume for temp files (optional)
# Add a volume for temp files
VOLUME /tmp
VOLUME /app/logs

# Argument for the JAR file
ARG JAR_FILE=target/process-1.0-0.jar

# Copy the JAR into the container
COPY ${JAR_FILE} app.jar

# Create logs directory
RUN mkdir -p /app/logs

# Run the JAR
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar"]
ENTRYPOINT ["java", "-jar", "/app/app.jar"]
24 changes: 24 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ Process have 5 type of scheduler
- Event-driven workflows

### Running the Project

#### Option 1: Local Development
```bash
# Clone repository
git clone https://github.com/NABEEL-AHMED-JAMIL/process/tree/split-mono-to-microservice
Expand All @@ -52,6 +54,28 @@ mvn clean install
mvn spring-boot:run
```

#### Option 2: Docker Compose (Recommended for Development)
```bash
# Build the JAR file first
mvn clean package -DskipTests

# Start all services (PostgreSQL, Kafka, Zookeeper, Application)
docker-compose up -d

# View logs
docker-compose logs -f

# Access the application
# API: http://localhost:9098/api/v1
# Swagger: http://localhost:9098/api/v1/swagger-ui.html
# Health Check: http://localhost:9098/api/v1/actuator/health

# Stop services
docker-compose down
```

For detailed Docker setup instructions, see [DOCKER_SETUP.md](DOCKER_SETUP.md)

### ETL WorkFlow diagram
Below detail show the existing workflow of process.

Expand Down
18 changes: 0 additions & 18 deletions docker-compose-boot.yml

This file was deleted.

Loading