go-microservice-example

module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 24, 2022 License: MIT

README

Go User Microservice Tutorial

Go user microservice with postgresql and docker

File Structure

|- bin
|- cmd
  |- core
|- pkg
  |- config
  |- controllers
  |- models
  |- routers
  |- util

bin

This folder contains the built-in go server.

cmd

This folder contains the core application(s). In this service, main.go in cmd/core is the main application.

pkg

The codes written for the service to work are located in this folder.

  • config : The settings codes of the application are found here.
  • controllers : Codes with all operations and logic are found here.
  • models : The codes where database operations are made are coded here.
  • routers : Here are the codes that define the routing of incoming requests.
  • util : Tools coded for the application are stored in this folder.

Installation

To install, you must first authorize the service.sh file. Then type the install command.

sudo chmod +x ./service.sh
sudo ./service.sh install

Building Services

The services must be built before running the application. Service building codes can be done easily with the service.sh file commands.

Create the postgresql database
sudo ./service.sh build_db
Build the go service
sudo ./service.sh build

Staring Go Microservice App

Starting database service

sudo ./service.sh run_db

Starting go microservice

sudo ./service.sh run

Usage

Endpoints

Below are all of the endpoints provided by the server, displayed by their relative URL, and the HTTP method with which you access them.

Get All Users
GET /api/user

Example Request:

GET /api/user/ HTTP/1.1
Host: 192.168.1.2:8000
Get User By Id
GET /api/user/{id}

Example Request:

GET /api/user/232 HTTP/1.1
Host: 192.168.1.2:8000
Create User
POST /api/user/{id}

Example Request:

POST /api/user/232 HTTP/1.1
Host: 192.168.1.2:8000
Content-Type: application/json
{
    "Name": "Kadir Umut",
    "Email": "sanelkadir@gmail.com",
    "Password": "secret"
}
Delete User
DELETE /api/user/{id}

Example Request:

DELETE /api/user/232 HTTP/1.1
Host: 192.168.1.2:8000
Update User
PUT /api/user/{id}

Example Request:

PUT /api/user/232 HTTP/1.1
Host: 192.168.1.2:8000
Content-Type: application/json
{
    "Name": "Kadir Umut",
    "Email": "sanelkadir@gmail.com",
    "Password": "secret"
}

Stoping Postgresql Database Service

sudo ./service.sh stop_db

License

MIT

Directories

Path Synopsis
cmd
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL