Skip to content

This is documentation for the Backend API functionality. [Swagger, base code, Docker, Ci/CD, database, hosting]. Visit website: [https://nick8787.github.io/post-hub-documentation]

Notifications You must be signed in to change notification settings

drongo25/post-hub-documentation

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Post-Wave Project

Visit Documentation

Visit Live Project Site

Post-Wave Logo

⚙️ Project Overview

Post-Hub is a demo project created for my Udemy course to demonstrate how microservices work in practice. It lets users register, log in, create posts and comments, and shows how services communicate via Kafka and are secured with JWT.

🔍 What the project does

  • User registration and login
  • Post and comment creation
  • Action logging via Kafka
  • Secure endpoints using JWT
  • Web access via Gateway and Nginx
  • Full microservices architecture + CI/CD deployment

🛠️ Tech Stack

The following technologies and tools were used in this project:

  • Java: The primary programming language for developing microservices.
  • Spring Boot: Used to build the microservices with RESTful APIs.
  • JWT & Spring Security: Ensures secure user authentication and authorization.
  • Kafka: Facilitates asynchronous communication between microservices.
  • Flyway: Manages database migrations.
  • H2 & PostgreSQL: H2 is used for local development, and PostgreSQL is used for production.
  • Docker: Containerizes the application and its services.
  • IntelliJ IDEA Ultimate: Integrated Development Environment (IDE) used for coding.

🚀 Deployment Workflow

The deployment process involves the following steps:

  1. Image Logs Stage: Retrieve the last 1000 lines of Docker container logs from the remote server via SSH.
  2. Docker Stop Stage: Stop and remove the current Docker container to prepare the server for deployment.
  3. Data Check Stage: Validate the Docker environment, network, and user data on the server.
  4. Build JAR Stage: Compile the application code into a JAR file using Maven.
  5. Build Docker Stage: Create a new Docker image from the JAR file and push it to the Docker Registry.
  6. Deploy Stage: Pull the new Docker image from the registry and deploy it on the server.

🗄️ Database & Hosting

The project uses a managed PostgreSQL database hosted on the ScaleGrid platform, leveraging AWS for high availability and scalability. The application is hosted on a dedicated server that uses Docker for deployment, ensuring flexible resource management and maintaining high performance.

About

This is documentation for the Backend API functionality. [Swagger, base code, Docker, Ci/CD, database, hosting]. Visit website: [https://nick8787.github.io/post-hub-documentation]

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 75.7%
  • HTML 13.3%
  • JavaScript 7.1%
  • Smarty 3.5%
  • CSS 0.4%