Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/arumandesu/uniclubs-comments-service

This is a simple comments service for AITU UCMS project. The service allows users to leave comments on the content of the UCMS.
https://github.com/arumandesu/uniclubs-comments-service

go golang mongodb rabbitmq websockets

Last synced: 5 days ago
JSON representation

This is a simple comments service for AITU UCMS project. The service allows users to leave comments on the content of the UCMS.

Awesome Lists containing this project

README

        





Logo

AITU UCMS comments service

Table of Contents



  1. About The Project


  2. Protofiles

  3. Websockets API


  4. Getting Started


## About The Project

[//]: # ([![Product Name Screen Shot][product-screenshot]](https://example.com))

This is a simple comments service for [AITU UCMS][aitu-ucms-url] project. It is a part of the project, which is a web application for managing the university's clubs. The service allows users to leave comments on the content of the [AITU UCMS][aitu-ucms-url].

(back to top)

### Built With

* [![Go][go-shield]][go-url]
* [![MongoDB][mongodb-shield]][mongodb-url]
* [![Docker][docker-shield]][docker-url]
* [![Docker Compose][docker-compose-shield]][docker-compose-url]
* [![RabbitMQ][rabbitmq-shield]][rabbitmq-url]
* [![Centrifuge][centrifuge-shield]][centrifuge-url]
* [![GRPC][grpc-shield]][grpc-url]

(back to top)

## Protofiles

* [Protofiles Repository][protofiles-url]

(back to top)

## [Websockets API](docs/websocket.md)

## Getting Started
### Prerequisites

* Go version 1.22.3
* Docker 26.1.4
* Docker Compose 2.27.1
* [Taskfile 3](https://taskfile.dev/installation/)

```sh
go version
docker --version
docker-compose --version
```

### Installation

1. Clone the repo
```sh
git clone https://github.com/ARUMANDESU/uniclubs-comments-service.git
```
2. Change directory
```sh
cd uniclubs-comments-service
```
3. Write the environment variables in the `.env` file
```dotenv
ENV=dev

START_TIMEOUT=
SHUTDOWN_TIMEOUT=

HTTP_ADDRESS=
HTTP_TIMEOUT=
HTTP_IDLE_TIMEOUT=

GRPC_PORT=
GRPC_TIMEOUT=

MONGODB_URI=mongodb://:@:
MONGODB_PING_TIMEOUT=10s
MONGODB_DATABASE_NAME=

RABBITMQ_USER=
RABBITMQ_PASSWORD=
RABBITMQ_HOST=
RABBITMQ_PORT=

USER_SERVICE_ADDRESS=:
USER_SERVICE_TIMEOUT=10s
USER_SERVICE_RETRIES_COUNT=2

JWT_SECRET=
```
4. Run the service
```sh
task r:e
```

(back to top)

[aitu-url]: https://astanait.edu.kz/
[aitu-ucms-url]: https://www.ucms.space/
[protofiles-url]: https://github.com/ARUMANDESU/uniclubs-protos

[go-url]: https://golang.org/
[mongodb-url]: https://www.mongodb.com/
[docker-url]: https://www.docker.com/
[docker-compose-url]: https://docs.docker.com/compose/
[rabbitmq-url]: https://www.rabbitmq.com/
[websockets-url]: https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API
[centrifuge-url]: https://github.com/centrifugal/centrifuge
[grpc-url]: https://grpc.io/

[go-shield]: https://img.shields.io/badge/Go-00ADD8?style=for-the-badge&logo=go&logoColor=white
[mongodb-shield]: https://img.shields.io/badge/MongoDB-47A248?style=for-the-badge&logo=mongodb&logoColor=white
[docker-shield]: https://img.shields.io/badge/Docker-2496ED?style=for-the-badge&logo=docker&logoColor=white
[docker-compose-shield]: https://img.shields.io/badge/Docker_Compose-2496ED?style=for-the-badge&logo=docker&logoColor=white
[rabbitmq-shield]: https://img.shields.io/badge/RabbitMQ-FF6600?style=for-the-badge&logo=rabbitmq&logoColor=white
[websockets-shield]: https://img.shields.io/badge/Websockets-777777?style=for-the-badge&logo=websocket&logoColor=white
[centrifuge-shield]: https://img.shields.io/badge/Centrifuge-FF6600?style=for-the-badge&logo=centrifuge&logoColor=white
[grpc-shield]: https://img.shields.io/badge/GRPC-00ADD8?style=for-the-badge&logo=grpc&logoColor=white