Skip to content

Latest commit

 

History

History
143 lines (119 loc) · 4.57 KB

README.md

File metadata and controls

143 lines (119 loc) · 4.57 KB


Logo

AITU UCMS Posts Service

Table of Contents
  1. About The Project
  2. Protofiles
  3. Technologies Used
  4. Getting Started
  5. Running the Service

About The Project

This service is part of the University Clubs Management System (UCMS) project. The service is responsible for managing posts( announcements, events, polls, etc.) for clubs. It provides a gRPC API for other services to interact with it.

(back to top)

Protofiles

(back to top)

Technologies Used

  • Go
  • MongoDB
  • gRPC
  • RabbitMQ
  • Docker
  • Docker Compose
  • Taskfile

(back to top)

Getting Started

Prerequisites

  • Go version 1.22.2
  • Docker 26.1.4

Installation

Clone the repository:

git clone https://github.com/ARUMANDESU/uniclubs-posts-service.git
cd uniclubs-posts-service
go mod download

(back to top)

Configuration

This Service requires a configuration file to specify various settings like database connections, and service-specific parameters. Depending on your environment (development, test, or production), different configurations may be needed.

Setting Up Configuration

# Example configuration snippet
ENV=dev
# Database Configuration
MONGODB_URI=mongodb://username:password@host:port
MONGODB_PING_TIMEOUT=
MONGODB_DATABASE_NAME=
# Server Configuration
GRPC_PORT=
GRPC_TIMEOUT=
# RabbitMQ Configuration
RABBITMQ_USER=
RABBITMQ_PASSWORD=
RABBITMQ_HOST=
RABBITMQ_PORT=
# Other Services client configuration
USER_SERVICE_ADDRESS=
USER_SERVICE_TIMEOUT=
USER_SERVICE_RETRIES_COUNT=
CLUB_SERVICE_ADDRESS=
CLUB_SERVICE_TIMEOUT=
CLUB_SERVICE_RETRIES_COUNT=

(back to top)

Running the Service

After setting up the database and configuring the service, you can run it as follows:

go run cmd/main.go

Or use the provided Taskfile to run the service:

task run:enviroment

or

task r:e

(back to top)