{"id":25833249,"url":"https://github.com/rezi-gelenidze/chatty","last_synced_at":"2025-06-24T19:35:26.771Z","repository":{"id":277735913,"uuid":"908346119","full_name":"rezi-gelenidze/chatty","owner":"rezi-gelenidze","description":"Microservices based chat application built with Spring Boot, JWT/OAuth2, PostgreSQL/MongoDB and RabbitMQ for real-time messaging.","archived":false,"fork":false,"pushed_at":"2025-02-22T21:46:34.000Z","size":537,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-22T22:25:42.452Z","etag":null,"topics":["chat-application","microservices","spring"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rezi-gelenidze.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-25T20:12:05.000Z","updated_at":"2025-02-22T21:46:38.000Z","dependencies_parsed_at":"2025-02-22T22:25:03.010Z","dependency_job_id":null,"html_url":"https://github.com/rezi-gelenidze/chatty","commit_stats":null,"previous_names":["rezi-gelenidze/chatty"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rezi-gelenidze/chatty","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rezi-gelenidze%2Fchatty","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rezi-gelenidze%2Fchatty/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rezi-gelenidze%2Fchatty/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rezi-gelenidze%2Fchatty/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rezi-gelenidze","download_url":"https://codeload.github.com/rezi-gelenidze/chatty/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rezi-gelenidze%2Fchatty/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261743751,"owners_count":23203222,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chat-application","microservices","spring"],"created_at":"2025-02-28T22:47:34.581Z","updated_at":"2025-06-24T19:35:26.711Z","avatar_url":"https://github.com/rezi-gelenidze.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# **Chatty - Microservices-Based Chat Application**  \nA **scalable**, **secure**, and **modular** chat application built using **Spring Boot, Spring Cloud, PostgreSQL, MongoDB, and RabbitMQ**.  \n\n## **🔹 Features**  \n✅ **Microservices Architecture** - Decoupled services for authentication, messaging, and notifications.  \n✅ **Secure Authentication** - JWT-based authentication with OAuth2 and refresh tokens.  \n✅ **Service Discovery \u0026 Load Balancing** - Eureka for dynamic service registration.  \n✅ **API Gateway** - Spring Cloud Gateway for request routing and security.  \n✅ **Scalable Messaging** - MongoDB for chat storage, RabbitMQ for notifications.  \n✅ **Event-Driven Communication** - RabbitMQ for inter-service messaging.  \n\n---\n\n## **🔹 Microservices Overview**  \n\n### **1️⃣ Authentication Service (`auth-service`)**  \nHandles user authentication, token generation, and validation.\n- 🔹 **Base Endpoint:** /auth\n- 🔹 **Endpoints:** `/login`, `/register`, `/refresh`, `/verify`  \n- 🔹 **Tech:** Spring Security, JWT, PostgreSQL, (OAuth2 TODO)\n\n### **2️⃣ Chat Service (`chat-service`)**  \nManages real-time messages and conversations.  \n- TODO\n\n### **3️⃣ Notification Service (`notification-service`)**  \nSends chat notifications (emails, push notifications, in-app alerts).  \n- TODO\n\n### **4️⃣ API Gateway (`api-gateway`)**  \nRoutes requests and secures APIs via authentication checks.  \n- TODO\n\n### **5️⃣ Service Discovery (`eureka-server`)**  \nManages dynamic service discovery and load balancing.  \n- 🔹 **Tech:** Eureka  \n\n---\n\n## **🔹 Tech Stack**  \n🔹 **Backend:** Java, Spring Boot, Spring Security, Spring Cloud  \n🔹 **Database:** PostgreSQL (Users, etc), MongoDB (Messages)  \n🔹 **Message Queue:** RabbitMQ  \n🔹 **Security:** OAuth2, JWT  \n🔹 **Deployment:** Docker, Kubernetes (Future Plan)  \n\n\n---\n\n## **🔹 Future Enhancements**  \n✅ WebSockets for real-time messaging.  \n✅ Kubernetes for container orchestration.  \n✅ Rate limiting \u0026 monitoring with Spring Boot Actuator.  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frezi-gelenidze%2Fchatty","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frezi-gelenidze%2Fchatty","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frezi-gelenidze%2Fchatty/lists"}