Cores Services

Cores services in bringin backend project use grpc server to serve logic. The grpc protocol defined at api/proto folder. Cores services serve metadata like ( location, job title, industry field, & skill name) and Handling object storage. Cores services also dependeny that needed by others service

Tech Stack

  • Golang version 1.20

  • Postgres version 14 as Primary Database

Installation

  • Make sure you have golang version 1.20

  • Make sure you have postgres that support uuid, jsonb

  • Make sure you have installed redis

  • Make sure you have installed Minio server in local

  • See Recommmended project structure section.

Migrate Database

Make sure you already create database and integrate with uuid extension. Look at this to create uuid extension. Look at folder internal/sqls you can execute sql in that folder to migrate database.

Besides executing the commands above, you can execute the command below to migrate database. But before you execute migrate command, make sure you already set database environment in .env file

    go mod download // run this if dependency not downloaded
    go mod tidy // run this if dependency changed
    go run cmd/main.go -command=migrate:up // execute migration up will create tables

There are 3 migrate commands :

  • command migrate:up will create tables

  • command migrate:down will drop tables

  • command migrate:both will drop and then create tables

Run Services

First to run this services, make sure your database and the tables that needed already created. Then create .env file from example.env template. The example.env file look likes below change the configuration and match with your environment.

After .env file created. Run this command

    go mod download // run this if dependency not downloaded
    go mod tidy // run this if dependency changed
    go run cmd/main.go -command=main

Last updated