Skip to content

MingyuanRen/GoChat

Repository files navigation

GoChat

A scalable, real-time chat app with multimedia and AI chatbot features using Golang, Gin, WebSocket and Redis, containerized with Docker and orchestrated via Kubernetes on AWS EKS.

Golang, Gin, MySQL, WebSocket, Redis, Docker, Kubernetes, AWS, Vue.js

Logo

Features

Chating: Group chat: Communicate with multiple people in a single chat room.

Image/Video/Audio sending: Share multimedia files with other users.

Address-sharing: Share your location with other users in real-time.

Real-time chat: Messages are delivered instantly using WebSocket.

AI ChatBot: AI chatbot thourgh ChatGPT API V3.5

Technologies Used

Golang: programming language used to develop the backend of the application.

Gin: web framework for Golang used to build the RESTful API of the application.

WebSocket: Protocol used to enable real-time communication between the client and server.

Redis, MySQL: Database used to store user information and messages.

Docker, Kubernetes, AWS: Tools used for deployment.

Vue.js: A JavaScript framework used to develop the frontend of the application.

Installation

Clone the repository Copy code

  git clone https://github.com/MingyuanRen/GoChat.git

Install the required dependencies

  cd GoChat
  go mod download

Set up the MySQL database by executing the SQL script found in db/mysql.sql

Configure the application by creating a .env file based on the .env.example file.

Start the application

  go run main.go

Demo

Register

Login

Personals

AddFriend

ContactPage

ChatPage

Extra chatting functions

Extra chatting functions

CreateGroup

Usage

Navigate to http://localhost:8080 in your web browser.

Sign up for an account or log in if you already have one.

Create a new chat room or join an existing one.

Start chatting with other users in real-time.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages