Skip to content

API Gateway of a University Club Management Web Application

Notifications You must be signed in to change notification settings

ARUMANDESU/university-clubs-backend

Repository files navigation


Logo

AITU UCMS API Gateway

This service is part of the University Clubs Management application, focusing on connecting API endpoints with other microservices.

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

About The Project

This API Gateway service is a critical component of the University Clubs Management System (UCMS) at AITU. It serves as the intermediary, routing requests to various backend microservices.

High Level Architecture

(back to top)

Other Microservices

(back to top)

Protofiles

(back to top)

Technologies Used

  • Go
  • Gin
  • gRPC
  • Docker
  • Docker Compose
  • Taskfile

(back to top)

Getting Started

Prerequisites

  • Go version 1.22

  • Docker 4.29.0

    go version
    docker --version

Installation

  1. Clone the repository:

    git clone https://github.com/ARUMANDESU/university-clubs-backend.git
    cd university-clubs-backend
    go mod download

(back to top)

Configuration

The UCMS API Gateway requires a configuration file to specify various settings such as service-specific parameters and other microservices addresses.

Create .env file:

touch .env

Example Configuration Snippet

# Example configuration snippet
ENV=dev
SHUTDOWN_TIMEOUT=10s
JWT_SECRET=

HTTP_ADDRESS=
HTTP_TIMEOUT=5s
HTTP_IDLE_TIMEOUT=3s

USER_SERVICE_ADDRESS=
USER_SERVICE_TIMEOUT=10s
USER_SERVICE_RETRIES_COUNT=
CLUB_SERVICE_ADDRESS=
CLUB_SERVICE_TIMEOUT=10s
CLUB_SERVICE_RETRIES_COUNT=

MICROSOFT_OIDC_SECRET=
MICROSOFT_OIDC_AUTHORITY=
MICROSOFT_OIDC_CLIENT_ID=

AWS_REGION=
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=

(back to top)

Running the Service

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

go run cmd/user-server/main.go

Or use the provided Taskfile to run the service:

task run:environment

or

task env

(back to top)

About

API Gateway of a University Club Management Web Application

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages