Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/berat02xz/global-chat-app-kiii

global chatting system where anyone can connect to a room, exchange messages, and reply to other messages. This application is built with Spring Boot and uses SQL Server as the backend, hosted on Azure. It leverages Docker for image building, Kubernetes for managing pods, and GitHub Actions for CI/CD pipeline, deploying seamlessly to AKS
https://github.com/berat02xz/global-chat-app-kiii

azure chat-application continuous-delivery continuous-integration devops docker java javascript kubernetes spring-boot websocket

Last synced: 6 days ago
JSON representation

global chatting system where anyone can connect to a room, exchange messages, and reply to other messages. This application is built with Spring Boot and uses SQL Server as the backend, hosted on Azure. It leverages Docker for image building, Kubernetes for managing pods, and GitHub Actions for CI/CD pipeline, deploying seamlessly to AKS

Awesome Lists containing this project

README

        

![fcse_logo](https://github.com/BeratAhmetaj/Museudonia/blob/main/Gif%20Animations/Logo_FINKI_UKIM_EN/Logo_FINKI_UKIM_EN_00000.png)

## Course: Continuous Delivery & Continuous Integration

**Project Goal:**
This project involves the development of a chat application system using Spring Boot, Azure PostgreSQL cloud-hosted database, Gradle, Thymeleaf template engine, and WebSocket. The application is designed to be DevOps-friendly by utilizing CI/CD pipeline, GitHub Actions, Kubernetes manifests, Docker, Docker Compose, secrets management, and other DevOps tools. This project is part of the course "Continuous Integration and Continuous Delivery" at our faculty.

![Graph](readme.gif)

## Technologies

- **Spring Boot**: Framework for building applications with minimal configuration.
- **Azure Postgres**: Cloud-hosted database.
- **Gradle**: automation tool.
- **Thymeleaf**: Template engine for rendering web pages.
- **WebSocket**: Protocol for real-time communication.
- **CI/CD**: Continuous Integration and Continuous Delivery using GitHub Actions.
- **Kubernetes**: Container orchestration.
- **Docker**: Containerization of applications.
- **Docker Compose**: Define and manage multi-container Docker applications

![Graph](graph.png)

## Install

Clone the repo:
```bash
git clone https://github.com/BeratAhmetaj/RT-Chat-KIII.git
docker build -t beratahmetaj/rt-chat-application:latest .
```

Start the containers
```bash
docker-compose up
```

## Detailed Explanation[MK] [Document](https://github.com/BeratAhmetaj/RT-Chat-KIII/blob/master/Realtime%20Chat%20-%20Continuous%20Integration_Continous%20Delivery.pdf)