Skip to content

Latest commit

 

History

History
57 lines (44 loc) · 4.19 KB

README.md

File metadata and controls

57 lines (44 loc) · 4.19 KB

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