diff --git a/.github/workflows/maven-docker.yml b/.github/workflows/maven-docker.yml new file mode 100644 index 0000000..626bdfd --- /dev/null +++ b/.github/workflows/maven-docker.yml @@ -0,0 +1,46 @@ +name: Locafy CI/CD Pipeline + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +jobs: + build-and-test: + runs-on: ubuntu-latest + defaults: + run: + working-directory: ./locafy-microservices + + steps: + # 1. Checkout Code + - name: Checkout code + uses: actions/checkout@v3 + + # 2. Setup Java 17 + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + cache: maven + + # 3. Compile and Package with Maven + - name: Build with Maven + run: mvn clean package -DskipTests + + # 4. Build Docker Images (CI Step) + - name: Build Docker Images + run: docker compose build + + # 5. Deploy to Runner Environment (Test Deployment) + - name: Start Services + run: docker compose up -d + + # 6. Verify Services are Running + - name: Check Running Containers + run: | + sleep 30 # Give services time to start + docker compose ps + docker logs notification-service \ No newline at end of file diff --git a/project_milestone_4/ReadMe.md b/ReadMe4.md similarity index 100% rename from project_milestone_4/ReadMe.md rename to ReadMe4.md diff --git a/ReadMe5.md b/ReadMe5.md new file mode 100644 index 0000000..03005ad --- /dev/null +++ b/ReadMe5.md @@ -0,0 +1,125 @@ +# Locafy - Microservices Architecture - EXTENDED + +Locafy is a local business discovery platform implemented using Spring Boot Microservices. + +## Architecture + +1. **Discovery Server (Eureka):** Service Registry. +2. **API Gateway:** Routes all traffic (Port 8080). +3. **Business Service:** Manages business profiles (Uses Builder & Strategy patterns). +4. **Review Service:** Manages reviews. Validates business existence via REST calls to Business Service. +5. **Notification Service:** Simulates sending alerts when reviews are posted. + + +Part 1: Architecture Upgrade (Synchronous vs. Asynchronous) +Current State (Synchronous): Review Service -> calls Notification Service directly via HTTP (Feign). + +Problem: If the Notification Service is down, the Review Service fails or hangs. The user has to wait for the email to be sent before their review is saved. + +New State (Asynchronous with RabbitMQ): Review Service -> sends a message to RabbitMQ -> Notification Service picks it up later. + +Benefit: Decoupling. The Review Service doesn't care if the Notification Service is online. It saves the review, sends a message to the queue, and responds to the user immediately (Scalability & Fault Tolerance). + + +The Change +services: + # ... (Discovery, Gateway, Business Service remain the same) ... + + # NEW: Message Broker + rabbitmq: + image: rabbitmq:3.12-management + container_name: rabbitmq + ports: + - "5672:5672" # App communication port + - "15672:15672" # Management Dashboard (http://localhost:15672) + environment: + RABBITMQ_DEFAULT_USER: guest + RABBITMQ_DEFAULT_PASS: guest + + review-service: + build: ./review-service + container_name: review-service + ports: + - "8082:8082" + environment: + - EUREKA_CLIENT_SERVICEURL_DEFAULTZONE=http://discovery-server:8761/eureka/ + - SPRING_RABBITMQ_HOST=rabbitmq # Connect to Rabbit container + depends_on: + - discovery-server + - business-service + - rabbitmq # Wait for RabbitMQ + + +adding this to the review-service pom: https://spring.io/projects/spring-amqp + + org.springframework.boot + spring-boot-starter-amqp + + +adding this to: src/main/java/com/locafy/review/config/RabbitMQConfig.java + +package com.locafy.review.config; + + import org.springframework.amqp.core.*; + import org.springframework.context.annotation.Bean; + import org.springframework.context.annotation.Configuration; + + @Configuration + public class RabbitMQConfig { + public static final String QUEUE = "notification.queue"; + public static final String EXCHANGE = "review.exchange"; + public static final String ROUTING_KEY = "review.routingKey"; + + @Bean + public Queue queue() { return new Queue(QUEUE); } + + @Bean + public TopicExchange exchange() { return new TopicExchange(EXCHANGE); } + + @Bean + public Binding binding(Queue queue, TopicExchange exchange) { + return BindingBuilder.bind(queue).to(exchange).with(ROUTING_KEY); + } + } + +and then +Update Service Logic: Modify ReviewService.java to use RabbitTemplate instead of NotificationClient. + + + + + +old code to be added back +package com.example.review_service; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.openfeign.EnableFeignClients; + +@SpringBootApplication +@EnableDiscoveryClient +@EnableFeignClients +public class ReviewServiceApplication { + public static void main(String[] args) { + SpringApplication.run(ReviewServiceApplication.class, args); + } +} + + + +Use this for Docker and not the intelij plugin: docker compose up --build + + + +# 1. Ensure fresh JARs are available +mvn clean package -DskipTests + +# 2. Build and start containers using the V2 plugin +docker compose up --build + + +Step 4: CI/CD Pipeline (GitHub Actions) +This pipeline will run every time you push code to GitHub. It will verify that your Java code compiles and that your Docker containers can build and start up successfully. + +Create this file structure in your project root: .github/workflows/maven-docker.yml \ No newline at end of file diff --git a/project_milestone_4/locafy-microservices/.idea/.gitignore b/locafy-microservices/.idea/.gitignore similarity index 100% rename from project_milestone_4/locafy-microservices/.idea/.gitignore rename to locafy-microservices/.idea/.gitignore diff --git a/project_milestone_4/locafy-microservices/.idea/compiler.xml b/locafy-microservices/.idea/compiler.xml similarity index 94% rename from project_milestone_4/locafy-microservices/.idea/compiler.xml rename to locafy-microservices/.idea/compiler.xml index 2612fda..9d8df4c 100644 --- a/project_milestone_4/locafy-microservices/.idea/compiler.xml +++ b/locafy-microservices/.idea/compiler.xml @@ -9,7 +9,7 @@ - + @@ -17,8 +17,8 @@ - + diff --git a/project_milestone_4/locafy-microservices/.idea/encodings.xml b/locafy-microservices/.idea/encodings.xml similarity index 100% rename from project_milestone_4/locafy-microservices/.idea/encodings.xml rename to locafy-microservices/.idea/encodings.xml diff --git a/project_milestone_4/locafy-microservices/.idea/jarRepositories.xml b/locafy-microservices/.idea/jarRepositories.xml similarity index 100% rename from project_milestone_4/locafy-microservices/.idea/jarRepositories.xml rename to locafy-microservices/.idea/jarRepositories.xml diff --git a/project_milestone_4/locafy-microservices/.idea/locafy-microservices.iml b/locafy-microservices/.idea/locafy-microservices.iml similarity index 100% rename from project_milestone_4/locafy-microservices/.idea/locafy-microservices.iml rename to locafy-microservices/.idea/locafy-microservices.iml diff --git a/project_milestone_4/locafy-microservices/.idea/misc.xml b/locafy-microservices/.idea/misc.xml similarity index 100% rename from project_milestone_4/locafy-microservices/.idea/misc.xml rename to locafy-microservices/.idea/misc.xml diff --git a/project_milestone_4/locafy-microservices/.idea/modules.xml b/locafy-microservices/.idea/modules.xml similarity index 100% rename from project_milestone_4/locafy-microservices/.idea/modules.xml rename to locafy-microservices/.idea/modules.xml diff --git a/project_milestone_4/locafy-microservices/.idea/vcs.xml b/locafy-microservices/.idea/vcs.xml similarity index 100% rename from project_milestone_4/locafy-microservices/.idea/vcs.xml rename to locafy-microservices/.idea/vcs.xml diff --git a/project_milestone_4/locafy-microservices/api-gateway/.gitattributes b/locafy-microservices/api-gateway/.gitattributes similarity index 100% rename from project_milestone_4/locafy-microservices/api-gateway/.gitattributes rename to locafy-microservices/api-gateway/.gitattributes diff --git a/project_milestone_4/locafy-microservices/api-gateway/.gitignore b/locafy-microservices/api-gateway/.gitignore similarity index 100% rename from project_milestone_4/locafy-microservices/api-gateway/.gitignore rename to locafy-microservices/api-gateway/.gitignore diff --git a/project_milestone_4/locafy-microservices/api-gateway/.mvn/wrapper/maven-wrapper.properties b/locafy-microservices/api-gateway/.mvn/wrapper/maven-wrapper.properties similarity index 100% rename from project_milestone_4/locafy-microservices/api-gateway/.mvn/wrapper/maven-wrapper.properties rename to locafy-microservices/api-gateway/.mvn/wrapper/maven-wrapper.properties diff --git a/project_milestone_4/locafy-microservices/api-gateway/Dockerfile b/locafy-microservices/api-gateway/Dockerfile similarity index 100% rename from project_milestone_4/locafy-microservices/api-gateway/Dockerfile rename to locafy-microservices/api-gateway/Dockerfile diff --git a/project_milestone_4/locafy-microservices/api-gateway/mvnw b/locafy-microservices/api-gateway/mvnw similarity index 100% rename from project_milestone_4/locafy-microservices/api-gateway/mvnw rename to locafy-microservices/api-gateway/mvnw diff --git a/project_milestone_4/locafy-microservices/api-gateway/mvnw.cmd b/locafy-microservices/api-gateway/mvnw.cmd similarity index 100% rename from project_milestone_4/locafy-microservices/api-gateway/mvnw.cmd rename to locafy-microservices/api-gateway/mvnw.cmd diff --git a/project_milestone_4/locafy-microservices/api-gateway/pom.xml b/locafy-microservices/api-gateway/pom.xml similarity index 100% rename from project_milestone_4/locafy-microservices/api-gateway/pom.xml rename to locafy-microservices/api-gateway/pom.xml diff --git a/project_milestone_4/locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/ApiGatewayApplication.java b/locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/ApiGatewayApplication.java similarity index 100% rename from project_milestone_4/locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/ApiGatewayApplication.java rename to locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/ApiGatewayApplication.java diff --git a/project_milestone_4/locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/config/GatewayConfig.java b/locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/config/GatewayConfig.java similarity index 100% rename from project_milestone_4/locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/config/GatewayConfig.java rename to locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/config/GatewayConfig.java diff --git a/project_milestone_4/locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/config/GlobalErrorConfig.java b/locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/config/GlobalErrorConfig.java similarity index 100% rename from project_milestone_4/locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/config/GlobalErrorConfig.java rename to locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/config/GlobalErrorConfig.java diff --git a/project_milestone_4/locafy-microservices/api-gateway/src/main/resources/application.yaml b/locafy-microservices/api-gateway/src/main/resources/application.yaml similarity index 100% rename from project_milestone_4/locafy-microservices/api-gateway/src/main/resources/application.yaml rename to locafy-microservices/api-gateway/src/main/resources/application.yaml diff --git a/project_milestone_4/locafy-microservices/api-gateway/src/test/java/com/example/api_gateway/ApiGatewayApplicationTests.java b/locafy-microservices/api-gateway/src/test/java/com/example/api_gateway/ApiGatewayApplicationTests.java similarity index 100% rename from project_milestone_4/locafy-microservices/api-gateway/src/test/java/com/example/api_gateway/ApiGatewayApplicationTests.java rename to locafy-microservices/api-gateway/src/test/java/com/example/api_gateway/ApiGatewayApplicationTests.java diff --git a/project_milestone_4/locafy-microservices/business-service/.gitattributes b/locafy-microservices/business-service/.gitattributes similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/.gitattributes rename to locafy-microservices/business-service/.gitattributes diff --git a/project_milestone_4/locafy-microservices/business-service/.gitignore b/locafy-microservices/business-service/.gitignore similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/.gitignore rename to locafy-microservices/business-service/.gitignore diff --git a/project_milestone_4/locafy-microservices/business-service/.mvn/wrapper/maven-wrapper.properties b/locafy-microservices/business-service/.mvn/wrapper/maven-wrapper.properties similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/.mvn/wrapper/maven-wrapper.properties rename to locafy-microservices/business-service/.mvn/wrapper/maven-wrapper.properties diff --git a/project_milestone_4/locafy-microservices/business-service/Dockerfile b/locafy-microservices/business-service/Dockerfile similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/Dockerfile rename to locafy-microservices/business-service/Dockerfile diff --git a/project_milestone_4/locafy-microservices/business-service/mvnw b/locafy-microservices/business-service/mvnw similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/mvnw rename to locafy-microservices/business-service/mvnw diff --git a/project_milestone_4/locafy-microservices/business-service/mvnw.cmd b/locafy-microservices/business-service/mvnw.cmd similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/mvnw.cmd rename to locafy-microservices/business-service/mvnw.cmd diff --git a/project_milestone_4/locafy-microservices/business-service/pom.xml b/locafy-microservices/business-service/pom.xml similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/pom.xml rename to locafy-microservices/business-service/pom.xml diff --git a/project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/BusinessServiceApplication.java b/locafy-microservices/business-service/src/main/java/com/example/business_service/BusinessServiceApplication.java similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/BusinessServiceApplication.java rename to locafy-microservices/business-service/src/main/java/com/example/business_service/BusinessServiceApplication.java diff --git a/project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/controller/BusinessController.java b/locafy-microservices/business-service/src/main/java/com/example/business_service/controller/BusinessController.java similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/controller/BusinessController.java rename to locafy-microservices/business-service/src/main/java/com/example/business_service/controller/BusinessController.java diff --git a/project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/loader/DataLoader.java b/locafy-microservices/business-service/src/main/java/com/example/business_service/loader/DataLoader.java similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/loader/DataLoader.java rename to locafy-microservices/business-service/src/main/java/com/example/business_service/loader/DataLoader.java diff --git a/project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/model/BusinessProfile.java b/locafy-microservices/business-service/src/main/java/com/example/business_service/model/BusinessProfile.java similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/model/BusinessProfile.java rename to locafy-microservices/business-service/src/main/java/com/example/business_service/model/BusinessProfile.java diff --git a/project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/repository/BusinessRepository.java b/locafy-microservices/business-service/src/main/java/com/example/business_service/repository/BusinessRepository.java similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/repository/BusinessRepository.java rename to locafy-microservices/business-service/src/main/java/com/example/business_service/repository/BusinessRepository.java diff --git a/project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/service/BusinessService.java b/locafy-microservices/business-service/src/main/java/com/example/business_service/service/BusinessService.java similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/service/BusinessService.java rename to locafy-microservices/business-service/src/main/java/com/example/business_service/service/BusinessService.java diff --git a/project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/CategorySearchStrategy.java b/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/CategorySearchStrategy.java similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/CategorySearchStrategy.java rename to locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/CategorySearchStrategy.java diff --git a/project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/LocationSearchStrategy.java b/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/LocationSearchStrategy.java similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/LocationSearchStrategy.java rename to locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/LocationSearchStrategy.java diff --git a/project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/NameSearchStrategy.java b/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/NameSearchStrategy.java similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/NameSearchStrategy.java rename to locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/NameSearchStrategy.java diff --git a/project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/SearchStrategy.java b/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/SearchStrategy.java similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/SearchStrategy.java rename to locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/SearchStrategy.java diff --git a/project_milestone_4/locafy-microservices/business-service/src/main/resources/application.yaml b/locafy-microservices/business-service/src/main/resources/application.yaml similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/src/main/resources/application.yaml rename to locafy-microservices/business-service/src/main/resources/application.yaml diff --git a/project_milestone_4/locafy-microservices/business-service/src/test/java/com/example/business_service/BusinessServiceApplicationTests.java b/locafy-microservices/business-service/src/test/java/com/example/business_service/BusinessServiceApplicationTests.java similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/src/test/java/com/example/business_service/BusinessServiceApplicationTests.java rename to locafy-microservices/business-service/src/test/java/com/example/business_service/BusinessServiceApplicationTests.java diff --git a/project_milestone_4/locafy-microservices/discovery-server/.gitattributes b/locafy-microservices/discovery-server/.gitattributes similarity index 100% rename from project_milestone_4/locafy-microservices/discovery-server/.gitattributes rename to locafy-microservices/discovery-server/.gitattributes diff --git a/project_milestone_4/locafy-microservices/discovery-server/.gitignore b/locafy-microservices/discovery-server/.gitignore similarity index 100% rename from project_milestone_4/locafy-microservices/discovery-server/.gitignore rename to locafy-microservices/discovery-server/.gitignore diff --git a/project_milestone_4/locafy-microservices/discovery-server/.mvn/wrapper/maven-wrapper.properties b/locafy-microservices/discovery-server/.mvn/wrapper/maven-wrapper.properties similarity index 100% rename from project_milestone_4/locafy-microservices/discovery-server/.mvn/wrapper/maven-wrapper.properties rename to locafy-microservices/discovery-server/.mvn/wrapper/maven-wrapper.properties diff --git a/project_milestone_4/locafy-microservices/discovery-server/Dockerfile b/locafy-microservices/discovery-server/Dockerfile similarity index 100% rename from project_milestone_4/locafy-microservices/discovery-server/Dockerfile rename to locafy-microservices/discovery-server/Dockerfile diff --git a/project_milestone_4/locafy-microservices/discovery-server/mvnw b/locafy-microservices/discovery-server/mvnw similarity index 100% rename from project_milestone_4/locafy-microservices/discovery-server/mvnw rename to locafy-microservices/discovery-server/mvnw diff --git a/project_milestone_4/locafy-microservices/discovery-server/mvnw.cmd b/locafy-microservices/discovery-server/mvnw.cmd similarity index 100% rename from project_milestone_4/locafy-microservices/discovery-server/mvnw.cmd rename to locafy-microservices/discovery-server/mvnw.cmd diff --git a/project_milestone_4/locafy-microservices/discovery-server/pom.xml b/locafy-microservices/discovery-server/pom.xml similarity index 100% rename from project_milestone_4/locafy-microservices/discovery-server/pom.xml rename to locafy-microservices/discovery-server/pom.xml diff --git a/project_milestone_4/locafy-microservices/discovery-server/src/main/java/com/example/discovery_server/DiscoveryServerApplication.java b/locafy-microservices/discovery-server/src/main/java/com/example/discovery_server/DiscoveryServerApplication.java similarity index 100% rename from project_milestone_4/locafy-microservices/discovery-server/src/main/java/com/example/discovery_server/DiscoveryServerApplication.java rename to locafy-microservices/discovery-server/src/main/java/com/example/discovery_server/DiscoveryServerApplication.java diff --git a/project_milestone_4/locafy-microservices/discovery-server/src/main/resources/application.yaml b/locafy-microservices/discovery-server/src/main/resources/application.yaml similarity index 100% rename from project_milestone_4/locafy-microservices/discovery-server/src/main/resources/application.yaml rename to locafy-microservices/discovery-server/src/main/resources/application.yaml diff --git a/project_milestone_4/locafy-microservices/discovery-server/src/test/java/com/example/discovery_server/DiscoveryServerApplicationTests.java b/locafy-microservices/discovery-server/src/test/java/com/example/discovery_server/DiscoveryServerApplicationTests.java similarity index 100% rename from project_milestone_4/locafy-microservices/discovery-server/src/test/java/com/example/discovery_server/DiscoveryServerApplicationTests.java rename to locafy-microservices/discovery-server/src/test/java/com/example/discovery_server/DiscoveryServerApplicationTests.java diff --git a/project_milestone_4/locafy-microservices/docker-compose.yml b/locafy-microservices/docker-compose.yml similarity index 70% rename from project_milestone_4/locafy-microservices/docker-compose.yml rename to locafy-microservices/docker-compose.yml index af6470b..a954697 100644 --- a/project_milestone_4/locafy-microservices/docker-compose.yml +++ b/locafy-microservices/docker-compose.yml @@ -30,15 +30,17 @@ services: depends_on: - discovery-server - notification-service: - build: ./notification-service - container_name: notification-service + + # EXTENDED MICROSERV. with RabbitMQ + rabbitmq: + image: rabbitmq:3.12-management + container_name: rabbitmq ports: - - "8083:8083" + - "5672:5672" # App communication port + - "15672:15672" # Management dashboard foir RabbitMQ (http://localhost:15672) environment: - - EUREKA_CLIENT_SERVICEURL_DEFAULTZONE=http://discovery-server:8761/eureka/ - depends_on: - - discovery-server + RABBITMQ_DEFAULT_USER: guest + RABBITMQ_DEFAULT_PASS: guest review-service: build: ./review-service @@ -47,6 +49,21 @@ services: - "8082:8082" environment: - EUREKA_CLIENT_SERVICEURL_DEFAULTZONE=http://discovery-server:8761/eureka/ + - SPRING_RABBITMQ_HOST=rabbitmq # Connect to Rabbit container depends_on: - discovery-server - - business-service \ No newline at end of file + - business-service + - rabbitmq # Wait for RabbitMQ + + notification-service: + build: ./notification-service + container_name: notification-service + ports: + - "8083:8083" + environment: + - EUREKA_CLIENT_SERVICEURL_DEFAULTZONE=http://discovery-server:8761/eureka/ + - SPRING_RABBITMQ_HOST=rabbitmq + depends_on: + - discovery-server + - rabbitmq + diff --git a/project_milestone_4/locafy-microservices/notification-service/.gitattributes b/locafy-microservices/notification-service/.gitattributes similarity index 100% rename from project_milestone_4/locafy-microservices/notification-service/.gitattributes rename to locafy-microservices/notification-service/.gitattributes diff --git a/project_milestone_4/locafy-microservices/notification-service/.gitignore b/locafy-microservices/notification-service/.gitignore similarity index 100% rename from project_milestone_4/locafy-microservices/notification-service/.gitignore rename to locafy-microservices/notification-service/.gitignore diff --git a/project_milestone_4/locafy-microservices/notification-service/.mvn/wrapper/maven-wrapper.properties b/locafy-microservices/notification-service/.mvn/wrapper/maven-wrapper.properties similarity index 100% rename from project_milestone_4/locafy-microservices/notification-service/.mvn/wrapper/maven-wrapper.properties rename to locafy-microservices/notification-service/.mvn/wrapper/maven-wrapper.properties diff --git a/project_milestone_4/locafy-microservices/notification-service/Dockerfile b/locafy-microservices/notification-service/Dockerfile similarity index 100% rename from project_milestone_4/locafy-microservices/notification-service/Dockerfile rename to locafy-microservices/notification-service/Dockerfile diff --git a/project_milestone_4/locafy-microservices/notification-service/mvnw b/locafy-microservices/notification-service/mvnw similarity index 100% rename from project_milestone_4/locafy-microservices/notification-service/mvnw rename to locafy-microservices/notification-service/mvnw diff --git a/project_milestone_4/locafy-microservices/notification-service/mvnw.cmd b/locafy-microservices/notification-service/mvnw.cmd similarity index 100% rename from project_milestone_4/locafy-microservices/notification-service/mvnw.cmd rename to locafy-microservices/notification-service/mvnw.cmd diff --git a/project_milestone_4/locafy-microservices/notification-service/pom.xml b/locafy-microservices/notification-service/pom.xml similarity index 95% rename from project_milestone_4/locafy-microservices/notification-service/pom.xml rename to locafy-microservices/notification-service/pom.xml index 0188bb2..ef0d7b0 100644 --- a/project_milestone_4/locafy-microservices/notification-service/pom.xml +++ b/locafy-microservices/notification-service/pom.xml @@ -39,6 +39,10 @@ org.springframework.boot spring-boot-starter-webmvc + + org.springframework.boot + spring-boot-starter-amqp + org.springframework.cloud spring-cloud-starter-netflix-eureka-client diff --git a/project_milestone_4/locafy-microservices/notification-service/src/main/java/com/example/notification_service/NotificationServiceApplication.java b/locafy-microservices/notification-service/src/main/java/com/example/notification_service/NotificationServiceApplication.java similarity index 100% rename from project_milestone_4/locafy-microservices/notification-service/src/main/java/com/example/notification_service/NotificationServiceApplication.java rename to locafy-microservices/notification-service/src/main/java/com/example/notification_service/NotificationServiceApplication.java diff --git a/locafy-microservices/notification-service/src/main/java/com/example/notification_service/consumer/NotificationConsumer.java b/locafy-microservices/notification-service/src/main/java/com/example/notification_service/consumer/NotificationConsumer.java new file mode 100644 index 0000000..8abbcc1 --- /dev/null +++ b/locafy-microservices/notification-service/src/main/java/com/example/notification_service/consumer/NotificationConsumer.java @@ -0,0 +1,21 @@ +package com.example.notification_service.consumer; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.stereotype.Component; + +@Component +public class NotificationConsumer { + + private static final Logger log = LoggerFactory.getLogger(NotificationConsumer.class); + + // Listens to the queue defined in the Review Service + @RabbitListener(queues = "notification.queue") + public void consumeMessage(String message) { + log.info("------------------------------------------------"); + log.info("🐰 RABBITMQ MESSAGE RECEIVED: {}", message); + log.info("------------------------------------------------"); + // Here you would add logic to send actual Email/SMS + } +} diff --git a/project_milestone_4/locafy-microservices/notification-service/src/main/java/com/example/notification_service/controller/NotificationController.java b/locafy-microservices/notification-service/src/main/java/com/example/notification_service/controller/NotificationController.java similarity index 100% rename from project_milestone_4/locafy-microservices/notification-service/src/main/java/com/example/notification_service/controller/NotificationController.java rename to locafy-microservices/notification-service/src/main/java/com/example/notification_service/controller/NotificationController.java diff --git a/project_milestone_4/locafy-microservices/notification-service/src/main/resources/application.yaml b/locafy-microservices/notification-service/src/main/resources/application.yaml similarity index 100% rename from project_milestone_4/locafy-microservices/notification-service/src/main/resources/application.yaml rename to locafy-microservices/notification-service/src/main/resources/application.yaml diff --git a/project_milestone_4/locafy-microservices/notification-service/src/test/java/com/example/notification_service/NotificationServiceApplicationTests.java b/locafy-microservices/notification-service/src/test/java/com/example/notification_service/NotificationServiceApplicationTests.java similarity index 100% rename from project_milestone_4/locafy-microservices/notification-service/src/test/java/com/example/notification_service/NotificationServiceApplicationTests.java rename to locafy-microservices/notification-service/src/test/java/com/example/notification_service/NotificationServiceApplicationTests.java diff --git a/project_milestone_4/locafy-microservices/review-service/.gitattributes b/locafy-microservices/review-service/.gitattributes similarity index 100% rename from project_milestone_4/locafy-microservices/review-service/.gitattributes rename to locafy-microservices/review-service/.gitattributes diff --git a/project_milestone_4/locafy-microservices/review-service/.gitignore b/locafy-microservices/review-service/.gitignore similarity index 100% rename from project_milestone_4/locafy-microservices/review-service/.gitignore rename to locafy-microservices/review-service/.gitignore diff --git a/project_milestone_4/locafy-microservices/review-service/.mvn/wrapper/maven-wrapper.properties b/locafy-microservices/review-service/.mvn/wrapper/maven-wrapper.properties similarity index 100% rename from project_milestone_4/locafy-microservices/review-service/.mvn/wrapper/maven-wrapper.properties rename to locafy-microservices/review-service/.mvn/wrapper/maven-wrapper.properties diff --git a/project_milestone_4/locafy-microservices/review-service/Dockerfile b/locafy-microservices/review-service/Dockerfile similarity index 100% rename from project_milestone_4/locafy-microservices/review-service/Dockerfile rename to locafy-microservices/review-service/Dockerfile diff --git a/project_milestone_4/locafy-microservices/review-service/mvnw b/locafy-microservices/review-service/mvnw similarity index 100% rename from project_milestone_4/locafy-microservices/review-service/mvnw rename to locafy-microservices/review-service/mvnw diff --git a/project_milestone_4/locafy-microservices/review-service/mvnw.cmd b/locafy-microservices/review-service/mvnw.cmd similarity index 100% rename from project_milestone_4/locafy-microservices/review-service/mvnw.cmd rename to locafy-microservices/review-service/mvnw.cmd diff --git a/project_milestone_4/locafy-microservices/review-service/pom.xml b/locafy-microservices/review-service/pom.xml similarity index 95% rename from project_milestone_4/locafy-microservices/review-service/pom.xml rename to locafy-microservices/review-service/pom.xml index cc4fd62..bb42ba0 100644 --- a/project_milestone_4/locafy-microservices/review-service/pom.xml +++ b/locafy-microservices/review-service/pom.xml @@ -39,6 +39,12 @@ org.springframework.boot spring-boot-starter-webmvc + + + org.springframework.boot + spring-boot-starter-amqp + + org.springframework.cloud spring-cloud-starter-netflix-eureka-client diff --git a/locafy-microservices/review-service/src/main/java/com/example/review_service/ReviewServiceApplication.java b/locafy-microservices/review-service/src/main/java/com/example/review_service/ReviewServiceApplication.java new file mode 100644 index 0000000..b47398c --- /dev/null +++ b/locafy-microservices/review-service/src/main/java/com/example/review_service/ReviewServiceApplication.java @@ -0,0 +1,39 @@ +package com.example.review_service; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.openfeign.EnableFeignClients; +import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.scheduling.annotation.Scheduled; + +//@SpringBootApplication +//@EnableDiscoveryClient +//@EnableFeignClients +//@EnableScheduling // <--- CRITICAL: Enables the timer +//public class ReviewServiceApplication { +// +// private static final Logger log = +// LoggerFactory.getLogger(ReviewServiceApplication.class); +// +// public static void main(String[] args) { +// SpringApplication.run(ReviewServiceApplication.class, args); +// log.info("🚀 APPLICATION STARTED"); +// } +// +// @Scheduled(fixedRate = 3000) +// public void heartbeat() { +// log.info("💓 HEARTBEAT – app is alive"); +// } +//} + +@SpringBootApplication +@EnableDiscoveryClient +@EnableFeignClients +public class ReviewServiceApplication { + public static void main(String[] args) { + SpringApplication.run(ReviewServiceApplication.class, args); + } +} \ No newline at end of file diff --git a/project_milestone_4/locafy-microservices/review-service/src/main/java/com/example/review_service/client/BusinessClient.java b/locafy-microservices/review-service/src/main/java/com/example/review_service/client/BusinessClient.java similarity index 100% rename from project_milestone_4/locafy-microservices/review-service/src/main/java/com/example/review_service/client/BusinessClient.java rename to locafy-microservices/review-service/src/main/java/com/example/review_service/client/BusinessClient.java diff --git a/project_milestone_4/locafy-microservices/review-service/src/main/java/com/example/review_service/client/NotificationClient.java b/locafy-microservices/review-service/src/main/java/com/example/review_service/client/NotificationClient.java similarity index 100% rename from project_milestone_4/locafy-microservices/review-service/src/main/java/com/example/review_service/client/NotificationClient.java rename to locafy-microservices/review-service/src/main/java/com/example/review_service/client/NotificationClient.java diff --git a/locafy-microservices/review-service/src/main/java/com/example/review_service/config/RabbitMQConfig.java b/locafy-microservices/review-service/src/main/java/com/example/review_service/config/RabbitMQConfig.java new file mode 100644 index 0000000..8308d7d --- /dev/null +++ b/locafy-microservices/review-service/src/main/java/com/example/review_service/config/RabbitMQConfig.java @@ -0,0 +1,25 @@ +package com.example.review_service.config; + +import org.springframework.amqp.core.*; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + + +@Configuration +public class RabbitMQConfig { + public static String QUEUE = "notification.queue"; + public static String EXCHANGE = "review.exchange"; + public static String ROUTING_KEY = "review.routingKey"; + + @Bean + public Queue queue() { return new Queue(QUEUE); } //this is not the queue of java.util.queue but + //but it is org.springframework.amqp.core.Queue; + + @Bean + public TopicExchange exchange() { return new TopicExchange(EXCHANGE); } + + @Bean + public Binding binding(Queue queue, TopicExchange exchange) { + return BindingBuilder.bind(queue).to(exchange).with(ROUTING_KEY); + } +} diff --git a/project_milestone_4/locafy-microservices/review-service/src/main/java/com/example/review_service/controller/ReviewController.java b/locafy-microservices/review-service/src/main/java/com/example/review_service/controller/ReviewController.java similarity index 100% rename from project_milestone_4/locafy-microservices/review-service/src/main/java/com/example/review_service/controller/ReviewController.java rename to locafy-microservices/review-service/src/main/java/com/example/review_service/controller/ReviewController.java diff --git a/locafy-microservices/review-service/src/main/java/com/example/review_service/exception/GlobalExceptionHandler.java b/locafy-microservices/review-service/src/main/java/com/example/review_service/exception/GlobalExceptionHandler.java new file mode 100644 index 0000000..14c201c --- /dev/null +++ b/locafy-microservices/review-service/src/main/java/com/example/review_service/exception/GlobalExceptionHandler.java @@ -0,0 +1,24 @@ +package com.example.review_service.exception; + +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.RestControllerAdvice; + +import java.util.HashMap; +import java.util.Map; + +@RestControllerAdvice +public class GlobalExceptionHandler { + + @ExceptionHandler(RuntimeException.class) + public ResponseEntity> handleRuntimeException(RuntimeException ex) { + Map response = new HashMap<>(); + response.put("error", "Validation Error"); + response.put("message", ex.getMessage()); + response.put("status", "404"); + + // Return 404 Not Found instead of 500 Internal Server Error + return new ResponseEntity<>(response, HttpStatus.NOT_FOUND); + } +} \ No newline at end of file diff --git a/project_milestone_4/locafy-microservices/review-service/src/main/java/com/example/review_service/model/Review.java b/locafy-microservices/review-service/src/main/java/com/example/review_service/model/Review.java similarity index 100% rename from project_milestone_4/locafy-microservices/review-service/src/main/java/com/example/review_service/model/Review.java rename to locafy-microservices/review-service/src/main/java/com/example/review_service/model/Review.java diff --git a/project_milestone_4/locafy-microservices/review-service/src/main/java/com/example/review_service/repository/ReviewRepository.java b/locafy-microservices/review-service/src/main/java/com/example/review_service/repository/ReviewRepository.java similarity index 100% rename from project_milestone_4/locafy-microservices/review-service/src/main/java/com/example/review_service/repository/ReviewRepository.java rename to locafy-microservices/review-service/src/main/java/com/example/review_service/repository/ReviewRepository.java diff --git a/project_milestone_4/locafy-microservices/review-service/src/main/java/com/example/review_service/service/ReviewService.java b/locafy-microservices/review-service/src/main/java/com/example/review_service/service/ReviewService.java similarity index 52% rename from project_milestone_4/locafy-microservices/review-service/src/main/java/com/example/review_service/service/ReviewService.java rename to locafy-microservices/review-service/src/main/java/com/example/review_service/service/ReviewService.java index a35c439..45ee12c 100644 --- a/project_milestone_4/locafy-microservices/review-service/src/main/java/com/example/review_service/service/ReviewService.java +++ b/locafy-microservices/review-service/src/main/java/com/example/review_service/service/ReviewService.java @@ -3,8 +3,10 @@ import com.example.review_service.client.BusinessClient; import com.example.review_service.client.NotificationClient; +import com.example.review_service.config.RabbitMQConfig; import com.example.review_service.model.Review; import com.example.review_service.repository.ReviewRepository; +import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -14,11 +16,17 @@ public class ReviewService { @Autowired private ReviewRepository repository; - @Autowired private BusinessClient businessClient; - @Autowired private NotificationClient notificationClient; + + @Autowired + private BusinessClient businessClient; + + // REPLACED: NotificationClient (Synchronous/Feign) with RabbitTemplate (Async/AMQP) + @Autowired + private RabbitTemplate rabbitTemplate; public Review createReview(Review review) { - // 1. Inter-service Validation + // 1. Inter-service Validation (Still Synchronous via Feign) + // We still need to confirm the business exists before saving the review try { businessClient.getBusiness(review.getBusinessId()); } catch (Exception e) { @@ -28,8 +36,16 @@ public Review createReview(Review review) { // 2. Persist Review Review saved = repository.save(review); - // 3. Trigger Notification (Simulating Event) - notificationClient.sendNotification("New Review Posted for Business ID: " + review.getBusinessId()); + // 3. Trigger Notification (Asynchronous Event) + // Instead of calling the API directly, we drop a message into the exchange + String message = "New Review Posted for Business ID: " + review.getBusinessId(); + + // Use constants from your RabbitMQConfig class + rabbitTemplate.convertAndSend( + RabbitMQConfig.EXCHANGE, + RabbitMQConfig.ROUTING_KEY, + message + ); return saved; } diff --git a/project_milestone_4/locafy-microservices/review-service/src/main/resources/application.yaml b/locafy-microservices/review-service/src/main/resources/application.yaml similarity index 100% rename from project_milestone_4/locafy-microservices/review-service/src/main/resources/application.yaml rename to locafy-microservices/review-service/src/main/resources/application.yaml diff --git a/project_milestone_4/locafy-microservices/review-service/src/test/java/com/example/review_service/ReviewServiceApplicationTests.java b/locafy-microservices/review-service/src/test/java/com/example/review_service/ReviewServiceApplicationTests.java similarity index 100% rename from project_milestone_4/locafy-microservices/review-service/src/test/java/com/example/review_service/ReviewServiceApplicationTests.java rename to locafy-microservices/review-service/src/test/java/com/example/review_service/ReviewServiceApplicationTests.java diff --git "a/project_milestone_4/Quick review of SDTproject \342\200\234etapa 4\342\200\235.pdf" "b/misc/Quick review of SDTproject \342\200\234etapa 4\342\200\235.pdf" similarity index 100% rename from "project_milestone_4/Quick review of SDTproject \342\200\234etapa 4\342\200\235.pdf" rename to "misc/Quick review of SDTproject \342\200\234etapa 4\342\200\235.pdf" diff --git a/SDT(P) etapa3.pdf b/misc/SDT(P) etapa3.pdf similarity index 100% rename from SDT(P) etapa3.pdf rename to misc/SDT(P) etapa3.pdf diff --git a/diagrams/jpg/CD - Microservices.jpg b/misc/diagrams/jpg/CD - Microservices.jpg similarity index 100% rename from diagrams/jpg/CD - Microservices.jpg rename to misc/diagrams/jpg/CD - Microservices.jpg diff --git a/diagrams/jpg/CD - Monolithic.jpg b/misc/diagrams/jpg/CD - Monolithic.jpg similarity index 100% rename from diagrams/jpg/CD - Monolithic.jpg rename to misc/diagrams/jpg/CD - Monolithic.jpg diff --git a/diagrams/jpg/CD - Three Layers.jpg b/misc/diagrams/jpg/CD - Three Layers.jpg similarity index 100% rename from diagrams/jpg/CD - Three Layers.jpg rename to misc/diagrams/jpg/CD - Three Layers.jpg diff --git a/diagrams/jpg/DD - Microservices.jpg b/misc/diagrams/jpg/DD - Microservices.jpg similarity index 100% rename from diagrams/jpg/DD - Microservices.jpg rename to misc/diagrams/jpg/DD - Microservices.jpg diff --git a/diagrams/jpg/DD - Monolithic .jpg b/misc/diagrams/jpg/DD - Monolithic .jpg similarity index 100% rename from diagrams/jpg/DD - Monolithic .jpg rename to misc/diagrams/jpg/DD - Monolithic .jpg diff --git a/diagrams/jpg/DD - Three Layers.jpg b/misc/diagrams/jpg/DD - Three Layers.jpg similarity index 100% rename from diagrams/jpg/DD - Three Layers.jpg rename to misc/diagrams/jpg/DD - Three Layers.jpg diff --git a/diagrams/jpg/class_diagram.jpg b/misc/diagrams/jpg/class_diagram.jpg similarity index 100% rename from diagrams/jpg/class_diagram.jpg rename to misc/diagrams/jpg/class_diagram.jpg diff --git a/diagrams/jpg/seq. diagram 1 creating and updating a business.jpg b/misc/diagrams/jpg/seq. diagram 1 creating and updating a business.jpg similarity index 100% rename from diagrams/jpg/seq. diagram 1 creating and updating a business.jpg rename to misc/diagrams/jpg/seq. diagram 1 creating and updating a business.jpg diff --git a/diagrams/jpg/seq. diagram2 contacting and leaving a review.jpg b/misc/diagrams/jpg/seq. diagram2 contacting and leaving a review.jpg similarity index 100% rename from diagrams/jpg/seq. diagram2 contacting and leaving a review.jpg rename to misc/diagrams/jpg/seq. diagram2 contacting and leaving a review.jpg diff --git a/diagrams/png/CD - Microservices.png b/misc/diagrams/png/CD - Microservices.png similarity index 100% rename from diagrams/png/CD - Microservices.png rename to misc/diagrams/png/CD - Microservices.png diff --git a/diagrams/png/CD - Monolithic.png b/misc/diagrams/png/CD - Monolithic.png similarity index 100% rename from diagrams/png/CD - Monolithic.png rename to misc/diagrams/png/CD - Monolithic.png diff --git a/diagrams/png/CD - Three Layers.png b/misc/diagrams/png/CD - Three Layers.png similarity index 100% rename from diagrams/png/CD - Three Layers.png rename to misc/diagrams/png/CD - Three Layers.png diff --git a/diagrams/png/DD - Microservices.png b/misc/diagrams/png/DD - Microservices.png similarity index 100% rename from diagrams/png/DD - Microservices.png rename to misc/diagrams/png/DD - Microservices.png diff --git a/diagrams/png/DD - Monolithic .png b/misc/diagrams/png/DD - Monolithic .png similarity index 100% rename from diagrams/png/DD - Monolithic .png rename to misc/diagrams/png/DD - Monolithic .png diff --git a/diagrams/png/DD - Three Layers.png b/misc/diagrams/png/DD - Three Layers.png similarity index 100% rename from diagrams/png/DD - Three Layers.png rename to misc/diagrams/png/DD - Three Layers.png diff --git a/diagrams/png/class_diagram.png b/misc/diagrams/png/class_diagram.png similarity index 100% rename from diagrams/png/class_diagram.png rename to misc/diagrams/png/class_diagram.png diff --git a/diagrams/png/seq. diagram 1 creating and updating a business.png b/misc/diagrams/png/seq. diagram 1 creating and updating a business.png similarity index 100% rename from diagrams/png/seq. diagram 1 creating and updating a business.png rename to misc/diagrams/png/seq. diagram 1 creating and updating a business.png diff --git a/diagrams/png/seq. diagram2 contacting and leaving a review.png b/misc/diagrams/png/seq. diagram2 contacting and leaving a review.png similarity index 100% rename from diagrams/png/seq. diagram2 contacting and leaving a review.png rename to misc/diagrams/png/seq. diagram2 contacting and leaving a review.png diff --git a/poject_milestone_2/.gitignore b/misc/poject_milestone_2/.gitignore similarity index 100% rename from poject_milestone_2/.gitignore rename to misc/poject_milestone_2/.gitignore diff --git a/poject_milestone_2/.idea/.gitignore b/misc/poject_milestone_2/.idea/.gitignore similarity index 100% rename from poject_milestone_2/.idea/.gitignore rename to misc/poject_milestone_2/.idea/.gitignore diff --git a/poject_milestone_2/.idea/codeStyles/Project.xml b/misc/poject_milestone_2/.idea/codeStyles/Project.xml similarity index 100% rename from poject_milestone_2/.idea/codeStyles/Project.xml rename to misc/poject_milestone_2/.idea/codeStyles/Project.xml diff --git a/poject_milestone_2/.idea/codeStyles/codeStyleConfig.xml b/misc/poject_milestone_2/.idea/codeStyles/codeStyleConfig.xml similarity index 100% rename from poject_milestone_2/.idea/codeStyles/codeStyleConfig.xml rename to misc/poject_milestone_2/.idea/codeStyles/codeStyleConfig.xml diff --git a/poject_milestone_2/.idea/misc.xml b/misc/poject_milestone_2/.idea/misc.xml similarity index 100% rename from poject_milestone_2/.idea/misc.xml rename to misc/poject_milestone_2/.idea/misc.xml diff --git a/poject_milestone_2/.idea/modules.xml b/misc/poject_milestone_2/.idea/modules.xml similarity index 100% rename from poject_milestone_2/.idea/modules.xml rename to misc/poject_milestone_2/.idea/modules.xml diff --git a/poject_milestone_2/.idea/vcs.xml b/misc/poject_milestone_2/.idea/vcs.xml similarity index 100% rename from poject_milestone_2/.idea/vcs.xml rename to misc/poject_milestone_2/.idea/vcs.xml diff --git a/poject_milestone_2/poject_milestone_2.iml b/misc/poject_milestone_2/poject_milestone_2.iml similarity index 100% rename from poject_milestone_2/poject_milestone_2.iml rename to misc/poject_milestone_2/poject_milestone_2.iml diff --git a/poject_milestone_2/src/AnalyticsService.java b/misc/poject_milestone_2/src/AnalyticsService.java similarity index 100% rename from poject_milestone_2/src/AnalyticsService.java rename to misc/poject_milestone_2/src/AnalyticsService.java diff --git a/poject_milestone_2/src/BusinessProfile.java b/misc/poject_milestone_2/src/BusinessProfile.java similarity index 100% rename from poject_milestone_2/src/BusinessProfile.java rename to misc/poject_milestone_2/src/BusinessProfile.java diff --git a/poject_milestone_2/src/BusinessProfileBuilder.java b/misc/poject_milestone_2/src/BusinessProfileBuilder.java similarity index 100% rename from poject_milestone_2/src/BusinessProfileBuilder.java rename to misc/poject_milestone_2/src/BusinessProfileBuilder.java diff --git a/poject_milestone_2/src/CategorySearch.java b/misc/poject_milestone_2/src/CategorySearch.java similarity index 100% rename from poject_milestone_2/src/CategorySearch.java rename to misc/poject_milestone_2/src/CategorySearch.java diff --git a/poject_milestone_2/src/Coordinates.java b/misc/poject_milestone_2/src/Coordinates.java similarity index 100% rename from poject_milestone_2/src/Coordinates.java rename to misc/poject_milestone_2/src/Coordinates.java diff --git a/poject_milestone_2/src/Customer.java b/misc/poject_milestone_2/src/Customer.java similarity index 100% rename from poject_milestone_2/src/Customer.java rename to misc/poject_milestone_2/src/Customer.java diff --git a/poject_milestone_2/src/EventBus.java b/misc/poject_milestone_2/src/EventBus.java similarity index 100% rename from poject_milestone_2/src/EventBus.java rename to misc/poject_milestone_2/src/EventBus.java diff --git a/poject_milestone_2/src/EventListener.java b/misc/poject_milestone_2/src/EventListener.java similarity index 100% rename from poject_milestone_2/src/EventListener.java rename to misc/poject_milestone_2/src/EventListener.java diff --git a/poject_milestone_2/src/EventType.java b/misc/poject_milestone_2/src/EventType.java similarity index 100% rename from poject_milestone_2/src/EventType.java rename to misc/poject_milestone_2/src/EventType.java diff --git a/poject_milestone_2/src/ExternalGoogleMapsAPI.java b/misc/poject_milestone_2/src/ExternalGoogleMapsAPI.java similarity index 100% rename from poject_milestone_2/src/ExternalGoogleMapsAPI.java rename to misc/poject_milestone_2/src/ExternalGoogleMapsAPI.java diff --git a/poject_milestone_2/src/GoogleMapsAdapter.java b/misc/poject_milestone_2/src/GoogleMapsAdapter.java similarity index 100% rename from poject_milestone_2/src/GoogleMapsAdapter.java rename to misc/poject_milestone_2/src/GoogleMapsAdapter.java diff --git a/poject_milestone_2/src/LocationSearch.java b/misc/poject_milestone_2/src/LocationSearch.java similarity index 100% rename from poject_milestone_2/src/LocationSearch.java rename to misc/poject_milestone_2/src/LocationSearch.java diff --git a/poject_milestone_2/src/Main.java b/misc/poject_milestone_2/src/Main.java similarity index 100% rename from poject_milestone_2/src/Main.java rename to misc/poject_milestone_2/src/Main.java diff --git a/poject_milestone_2/src/MapService.java b/misc/poject_milestone_2/src/MapService.java similarity index 100% rename from poject_milestone_2/src/MapService.java rename to misc/poject_milestone_2/src/MapService.java diff --git a/poject_milestone_2/src/NameSearch.java b/misc/poject_milestone_2/src/NameSearch.java similarity index 100% rename from poject_milestone_2/src/NameSearch.java rename to misc/poject_milestone_2/src/NameSearch.java diff --git a/poject_milestone_2/src/NotificationService.java b/misc/poject_milestone_2/src/NotificationService.java similarity index 100% rename from poject_milestone_2/src/NotificationService.java rename to misc/poject_milestone_2/src/NotificationService.java diff --git a/poject_milestone_2/src/ReputationService.java b/misc/poject_milestone_2/src/ReputationService.java similarity index 100% rename from poject_milestone_2/src/ReputationService.java rename to misc/poject_milestone_2/src/ReputationService.java diff --git a/poject_milestone_2/src/Review.java b/misc/poject_milestone_2/src/Review.java similarity index 100% rename from poject_milestone_2/src/Review.java rename to misc/poject_milestone_2/src/Review.java diff --git a/poject_milestone_2/src/ReviewService.java b/misc/poject_milestone_2/src/ReviewService.java similarity index 100% rename from poject_milestone_2/src/ReviewService.java rename to misc/poject_milestone_2/src/ReviewService.java diff --git a/poject_milestone_2/src/SearchService.java b/misc/poject_milestone_2/src/SearchService.java similarity index 100% rename from poject_milestone_2/src/SearchService.java rename to misc/poject_milestone_2/src/SearchService.java diff --git a/poject_milestone_2/src/SearchStrategy.java b/misc/poject_milestone_2/src/SearchStrategy.java similarity index 100% rename from poject_milestone_2/src/SearchStrategy.java rename to misc/poject_milestone_2/src/SearchStrategy.java diff --git a/project_milestone_4/locafy-test.json b/misc/postman_test/locafy-test.json similarity index 100% rename from project_milestone_4/locafy-test.json rename to misc/postman_test/locafy-test.json diff --git a/project_milestone_4/locafy-microservices/review-service/src/main/java/com/example/review_service/ReviewServiceApplication.java b/project_milestone_4/locafy-microservices/review-service/src/main/java/com/example/review_service/ReviewServiceApplication.java deleted file mode 100644 index e447c5f..0000000 --- a/project_milestone_4/locafy-microservices/review-service/src/main/java/com/example/review_service/ReviewServiceApplication.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.example.review_service; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.cloud.client.discovery.EnableDiscoveryClient; -import org.springframework.cloud.openfeign.EnableFeignClients; - -@SpringBootApplication -@EnableDiscoveryClient -@EnableFeignClients -public class ReviewServiceApplication { - public static void main(String[] args) { - SpringApplication.run(ReviewServiceApplication.class, args); - } -} diff --git a/project_milestone_4/zips/api-gateway.zip b/project_milestone_4/zips/api-gateway.zip deleted file mode 100644 index 4e84a46..0000000 Binary files a/project_milestone_4/zips/api-gateway.zip and /dev/null differ diff --git a/project_milestone_4/zips/business-service.zip b/project_milestone_4/zips/business-service.zip deleted file mode 100644 index 819ac11..0000000 Binary files a/project_milestone_4/zips/business-service.zip and /dev/null differ diff --git a/project_milestone_4/zips/discovery-server.zip b/project_milestone_4/zips/discovery-server.zip deleted file mode 100644 index cb52817..0000000 Binary files a/project_milestone_4/zips/discovery-server.zip and /dev/null differ diff --git a/project_milestone_4/zips/notification-service.zip b/project_milestone_4/zips/notification-service.zip deleted file mode 100644 index 32b1ebd..0000000 Binary files a/project_milestone_4/zips/notification-service.zip and /dev/null differ diff --git a/project_milestone_4/zips/review-service.zip b/project_milestone_4/zips/review-service.zip deleted file mode 100644 index d5d62f7..0000000 Binary files a/project_milestone_4/zips/review-service.zip and /dev/null differ