Awesome
Go-Vue-Chat-Starter
Vue-Go Chat App is a simple chat application built with Vue.js and Go, showcasing real-time communication using WebSocket technology. This starter repository provides a foundation for building chat applications and can be used as a learning resource or a starting point for your chat projects.
Features
- Real-time chat using WebSocket
- User-friendly interface
- Username registration (In browser cache only!)
- Responsive design for various screen sizes
Getting Started
Prerequisites
Before you begin, ensure you have met the following requirements:
- Go v1.18 installed
- Node.js v18.18.2 and npm v9.8.1 installed
- Basic knowledge of Go and Vue.js
- A little knowledge about PrimeVue
Note for building
When building for production please make sure to first execute:
npm run build
Installation
-
Clone this repository:
git clone https://github.com/coffeeeatnight/Go-Vue-Chat-Starter.git
-
Change to the project directory
cd Go-Vue-Chat-Starter
-
Start the Go backend
From the project root:
cd backend go get github.com/gorilla/websocket go run main.go
-
Start the Vue frontend
From the project root:
cd frontend npm i npm run serve
-
Open your web browser and access the chat application at http://localhost:8081.
Configuration
- You can customize the WebSocket server address and port by modifying the .env file in the "frontend" directory. This file has to be created when first cloning the project.
Contributing
Contributions are welcome! If you'd like to contribute to Vue-Go Chat App, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix: git checkout -b feature/your-feature.
- Make your changes and commit them: git commit -m 'Add new feature'.
- Push to your fork: git push origin feature/your-feature.
- Create a pull request to the main branch of this repository.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Contact
If you have any questions or feedback, feel free to reach out to [contact@aki-dev.com] or open an issue in this repository.