Chatify is a Golang-based real-time chat application that supports user authentication, messaging, and real-time communication via WebSocket. It is built with a clean and modular structure, making it easy to maintain and extend.
- User Authentication: Secure login and signup functionalities.
- Messaging: Send and receive messages with status tracking (sent, delivered, read).
- WebSocket Communication: Real-time messaging using WebSocket.
- MongoDB Integration: Store and retrieve messages and user data.
POST /login
- User loginPOST /signup
- User signup
GET /messages
- Retrieve all messagesPOST /message/send
- Send a messageDELETE /message/delete/{messageId}
- Delete a messagePUT /message/status/read
- Mark a message as readPUT /message/status/delivered
- Mark a message as delivered
GET /messages/listen
- WebSocket endpoint for real-time messaging
- Go 1.16 or higher
- MongoDB
-
Clone the repository:
git clone https://github.com/zeeshanahmad0201/chatify.git
-
Navigate to the project directory:
cd chatify
-
Install dependencies:
go mod tidy
-
Set up your MongoDB database and update the connection string in
pkg/database/db_connection.go
. -
Run the application:
go run cmd/chatify/main.go
After running the application, you can interact with the API using tools like Postman or cURL.
Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.