Personal Book Library Web Project

Architecture

Presentation

https://github.com/batux/personal_book_library_web_project/blob/master/com.personal.book.library/AngularJS_JavaTechnologies.pdf

Technologies:

Google reCAPTCHA must Changes!

You should create some recaptcha keys from https://www.google.com/recaptcha/admin#list for your application. And then, you should replace PUT_YOUR_KEY symbols with your keys in application.properties files.

#Google Captcha v3
google.captcha.site.key=PUT_YOUR_KEY
google.captcha.secret.key=PUT_YOUR_KEY

Docker Compose File for Infrastructure

Run these docker commands

# create docker-machine
docker-machine create --driver virtualbox --virtualbox-memory 6000 kafka

# get docker machine ip
docker-machine ip kafka

# Docker compose up for Infrastructure
docker-compose -f docker_compose_app_kafka.yml up

# list all active docker containers
docker ps -a

Than you can create a docker compose yml file. You can find it as an example in my repo!

version: '2'
services:

  mysql:
    image: mysql:latest
    ports: 
      - "3306:3306"
    environment:
      MYSQL_ROOT_PASSWORD: root
    volumes: 
      - ~/mysql_data:/var/lib/mysql

  mongodb:
    image: mongo:latest
    ports:
      - "27017:27017"
    volumes:
      - ~/mongodb_data:/data/db mongo

  redis:
    image: redis:latest
    ports:
      - "6379:6379"

  zookeeper:
    image: wurstmeister/zookeeper
    ports:
      - "2181:2181"
  kafka:
    image: wurstmeister/kafka:0.10.2.0-1
    ports:
      - "9092:9092"
    environment:
      KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1 #192.168.99.100 #{Docker Machine IP}
      KAFKA_ADVERTISED_PORT: 9092
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

References

https://www.baeldung.com/spring-security-registration-captcha

Application screenshots