/delivery-service

An example of service made in spring boot. With database, security filters, cache, messaging, stream, cache

Primary LanguageJavaMIT LicenseMIT


To Do List

Made by Thales Macena Top Language Last Commits Top Language

πŸ—‚ Table of Contents

πŸ“‘ About

This is a small example of how to create a service Rest API using Springboot. This example will include: API Rest, database, cache, communication with microservices, messaging, stream, security filters, logging, monitoring, containerization and documentation

πŸ— Architeture

Architeture

πŸ› Diagram

Diagram

State Machine

State Machine

πŸ’» Technologies

Java

Maven

Spring Boot

Spring

Spring Security

Apache Camel

AWS

Docker

PostgreSQL

Redis

Springdoc

πŸ”₯ Running the application

Prerequisites

  • GIT

  • Docker

  • AWS CLI

Run

# To copy this repository
git clone https://github.com/thalesmacena/delivery-service.git

# To move to project directory
cd delivery-service

# to start docker container
docker compose up

πŸ•΅ API DOC

to access the api documentation just access the following url after run the application.

πŸƒ RoadMap

  • Architectural drawing
  • Config Springboot docker
  • Config Redis docker
  • Config Postgres docker
  • Config Localstack aws docker
  • Spring initialization with dependencies and env
  • Data modelling
  • Auth filter and Spring security configuration
  • Login Route
  • CRUDs
  • OAS (OpenAPI Specification)
  • Image upload with s3
  • Exception Handling
  • Message Mapping
  • Async Ordering
  • Redis lock and cache
  • Queue processing
  • Events mapping
  • Events stream
  • Logs
  • Dynamo/mongoDB Integration for events mapping
  • Email sender