Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sesaquecruz/go-chat-api
A Rest API for a Chat Application.
https://github.com/sesaquecruz/go-chat-api
gin go postgres rabbitmq rest-api
Last synced: 19 days ago
JSON representation
A Rest API for a Chat Application.
- Host: GitHub
- URL: https://github.com/sesaquecruz/go-chat-api
- Owner: sesaquecruz
- License: mit
- Created: 2023-07-04T00:13:49.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-10-17T22:10:49.000Z (about 1 year ago)
- Last Synced: 2024-10-16T19:01:22.726Z (2 months ago)
- Topics: gin, go, postgres, rabbitmq, rest-api
- Language: Go
- Homepage:
- Size: 175 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Chat API
This is a web chat API that allows users to create and manage chat rooms and send messages. The chat system also includes another API called Broadcaster, where users can subscribe to receive messages from a given chat room. The messages are sent from this API to Broadcaster through RabbitMQ.
## Endpoints
| Endpoint | Method | Protected | Description |
|------------------------------| ------ |-----------|---------------------|
| `/api/v1/rooms` | POST | YES | Create a room |
| `/api/v1/rooms` | GET | YES | Search rooms |
| `/api/v1/rooms/{id}` | GET | YES | Find a room by id |
| `/api/v1/rooms/{id}` | PUT | YES | Update a room |
| `/api/v1/rooms/{id}` | DELETE | YES | Delete a room |
| `/api/v1/rooms/{id}/send` | POST | YES | Send a message |
| `/api/v1/swagger/index.html` | GET | NO | API's documentation |
| `/api/v1/healthz` | GET | NO | Health check |## Related repositories
- [Broadcaster API](https://github.com/sesaquecruz/go-chat-broadcaster)
- [Chat Infra](https://github.com/sesaquecruz/k8s-chat-infra)
- [Chat API Docker Hub](https://hub.docker.com/r/sesaquecruz/go-chat-api/tags)## Tech Stack
- [Go](https://go.dev)
- [Gin](https://gin-gonic.com)
- [Postgres](https://www.postgresql.org)
- [RabbitMQ](https://www.rabbitmq.com)## Contributing
Contributions are welcome! If you find a bug or would like to suggest an enhancement, please make a fork, create a new branch with the bugfix or feature, and submit a pull request.
## License
This project is licensed under the MIT License. See [LICENSE](./LICENSE) file for more information.