Skip to content

An application with online interest-based chat rooms

Notifications You must be signed in to change notification settings

ssq0-0/InterestingChats

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Interesting Chats

Overview

Interesting Chats is an online chat application designed to facilitate discussions based on various interests. The project consists of multiple microservices, each handling different functionalities of the chat application, ensuring scalability and maintainability.

Microservices Description

  1. API Gateway: Serves as the entry point for client requests, routing them to the appropriate microservices. Read features
  2. Auth Service: Manages user authentication and authorization. Read features
  3. Chat Service: Handles real-time chat functionalities, including sending and receiving messages. Read features
  4. Database Service: Interacts with the database for storing user data, chat histories, and notifications. Read features
  5. File Service: Manages file uploads and storage for user-generated content. Read features
  6. Kafka Service: Manages message brokering between microservices using Kafka. Read features
  7. Notification Service: Handles notifications for user actions and system events. Read features
  8. Redis Service: Caches frequently accessed data to improve performance. Read features
  9. User Services: Manages user-related functionalities such as profiles, friends, and settings. Read features

Technologies Used

  • Go
  • Docker
  • Kafka
  • Redis
  • PostgreSQL
  • HTML/CSS/JavaScript for the frontend

Architecture Diagram

2024-10-10-20-11-25.png

Getting Started

To run the application locally, follow these steps: Go to the detailed installation instructions for each service:

  1. API Gateway.
  2. Auth Service.
  3. Chat Service.
  4. Database Service.
  5. File Service.
  6. Kafka Service.
  7. Notification Service.
  8. Redis Service.
  9. User Services.

Contributing

Contributions are welcome! Please create a pull request or open an issue to discuss potential changes.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact

For inquiries or feedback, please reach out to @qss1161 in Telegram.

Acknowledgments

  • Go for the backend
  • Docker for containerization
  • Kafka for message brokering

About

An application with online interest-based chat rooms

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published