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
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
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.
Clone the repository Copy code
git clone https://github.com/MingyuanRen/GoChat.gitInstall the required dependencies
cd GoChat
go mod downloadSet 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.goNavigate 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.









