Giter Site home page Giter Site logo

malware-scanner's Introduction

๐Ÿ“– Full-Stack Templates For Spring Boot Developers

โœ… Video Streaming Platform with Debezium CDC Kafka Connector, Kafka Event Streaming, Minio File Storage and FFmpeg Video Processing

  • ๐Ÿ“– This Full-Stack Developer Template provides fully functional Development Environment:
  • ๐Ÿ“– Event-Driven Spring Boot Microservices with Debezium Change Data Capture, Debezium Kafka Connector and Kafka Event Streaming
  • ๐Ÿ“– Swagger UI Gateway with Keycloak Authorization
  • ๐Ÿ“– Video Streaming API with Minio File Storage, PostgreSQL Event and Metadata Persistence, Redis Cache Manager, Debezium Change Data Capture and FFmpeg Video Processing
  • ๐Ÿ“– Custom Spring Boot Docker Image with pre-installed FFmpeg Video Processing Tool
  • ๐Ÿ“– Local Docker Development Environment
  • ๐Ÿ“– Full Technology Stack:
    • โœ… Swagger UI Gateway
    • โœ… Debezium PostgreSQL Change Data Capture
    • โœ… PostgreSQL Event and Metadata Persistence
    • โœ… Debezium Kafka Connector
    • โœ… Minio File Storage Server
    • โœ… Redis Cache Manager
    • โœ… Spring Boot 3
    • โœ… Spring Cloud Gateway
    • โœ… Kafka Transactional Event Streaming
    • โœ… FFmpeg Video Processing Tool
    • โœ… Event-Driven Microservices
    • โœ… Kafka Event Store
    • โœ… Kafka UI
    • โœ… Keycloak Oauth2 Authorization Server
    • โœ… Local Docker Environment
    • โœ… Remote Debugging
    • โœ… Zipkin Distributed Tracing

๐Ÿ“– Links

See original spring-video HLS video streaming application: Spring Video

See previous Spring Boot Template for AWS Setup Example: Twitter Kafka Analytics Platform

๐Ÿ“– Step By Step Guide

Local Docker Environment Setup:

sh docker-start.sh
  • this script will build all spring boot docker images and start environment with your code changes
sh docker-restart.sh
  • this script will restart all docker containers without rebuilding images
sh docker-app-restart.sh video
  • this script will rebuild spring boot docker image for video application and restart application with rebuilt image
  • replace video with the name of the application you want to rebuild and restart
sh docker-worker-restart.sh
  • this script will rebuild spring boot docker image for worker application and restart application with rebuilt image
  • worker uses custom Dockerfile image to pre-install FFmpeg Tool. Therefore, it should be rebuilt with custom script
  • actual rebuild of worker docker image happens in docker-app-compose.yml file (see build: "./worker-service")

Local Docker Environment Acceptance Test:

  1. run sh docker-start.sh

  2. run commands in ./command.txt (Debezium Kafka PostgreSQL connectors)

  3. open http://localhost:9000 in your Browser

  • For authorized requests: click Authorize and use admin/admin or user/user for credentials (clientId should be video-app)
  1. goto http://localhost:9000/webjars/swagger-ui/index.html#/storage-controller/upload and upload mp4 file (you can use test.mp4 in worker-service folder for testing)

  2. goto http://localhost:9000/webjars/swagger-ui/index.html#/video-controller/create and create video with filename from step 4, please copy the video id from response

  3. goto http://localhost:9000/webjars/swagger-ui/index.html#/video-controller/profile with video id and wait for the video status to become READY

  4. use http://localhost:9000/video/api/video/{your_video_id}/index.m3u8 for any HLS player (alternatively, download links in m3u8 file and open them with any video player)

  • Congratulations! You successfully tested Swagger UI Gateway and Video Streaming API!

Remote Debugging

Configuration to debug a containerized Java application from IntelliJ IDEA

Minio File Storage Server

  • Minio File Storage Server should be available here: http://localhost:8086/

  • If acceptance testing was successful, then stream and video Buckets should exist and contain video files

  • You can download and browse video files using this console

Kafka UI

  • Kafka UI should be available here: http://localhost:8070/
  • You can browse topics, partitions, messages and other kafka resources using this console

Zipkin Server

malware-scanner's People

Contributors

skyglass avatar

Watchers

 avatar

Forkers

ystarling

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.