1
0
mirror of https://github.com/go-micro/go-micro.git synced 2024-12-18 08:26:38 +02:00
go-micro/services
2021-09-22 14:30:40 +01:00
..
README.md add services dir 2021-09-22 14:30:40 +01:00

Services

Micro Services provide additional external services for Go Micro.

Overview

Go Micro provides core abstractions for building distributed systems which are likely direct dependencies on locally hosted infrastructure. In the case of external services such as sending email, sms, etc we leave this up to the user. Yet they are becoming more core to all forms of distributed systems development beyond infrastructure.

This directory serves as guidance for accessing external Micro services managed and hosted by m3o.com and powered by Micro.

Features

The types of services available are as follows

  • Address - Address lookup by postcode
  • Answer - Instant answers to any question
  • Cache - Quick access key-value storage
  • Crypto - Cryptocurrency prices, quotes, and news
  • Currency - Exchange rates and currency conversion
  • Db - Simple database service
  • Email - Send emails in a flash
  • Emoji - All the emojis you need 🎉
  • File - Store, list, and retrieve text files
  • Forex - Foreign exchange (FX) rates
  • Geocoding - Geocode an address to gps location and the reverse.
  • Helloworld - Just saying hello world
  • Holidays - Find the holidays observed in a particular country
  • Id - Generate unique IDs (uuid, snowflake, etc)
  • Image - Quickly upload, resize, and convert images
  • Ip - IP to geolocation lookup
  • Location - Real time GPS location tracking and search
  • Otp - One time password generation
  • Postcode - Fast UK postcode lookup
  • Prayer - Islamic prayer times
  • Qr - QR code generator
  • Quran - The Holy Quran
  • Routing - Etas, routes and turn by turn directions
  • Rss - RSS feed crawler and reader
  • Sentiment - Real time sentiment analysis
  • Sms - Send an SMS message
  • Stock - Live stock quotes and prices
  • Stream - Publish and subscribe to messages
  • Sunnah - Traditions and practices of the Islamic prophet, Muhammad (pbuh)
  • Thumbnail - Create website thumbnails
  • Time - Time, date, and timezone info
  • Twitter - Realtime twitter timeline & search
  • Url - URL shortening, sharing, and tracking
  • User - User management and authentication
  • Weather - Real time weather forecast

Explore

The source code for all services exist in github.com/micro/services.

The hosted versions of all services can be found on m3o.com.

Usage

  • Head to m3o.com and signup for a free account.
  • Generate an API key on the Settings page.
  • Browse the APIs on the Explore page.
  • Call any API using your token in the Authorization: Bearer [Token] header and https://api.m3o.com/v1/[service]/[endpoint] url.

Example

Find the service you're looking for and browse to its API page e.g https://m3o.com/currency/api.

Copy the example for the relevant endpoint

package example

import (
	"fmt"
	"os"

	"github.com/micro/services/clients/go/currency"
)

var (
	token = os.Getenv("MICRO_API_TOKEN")
)

func main() {
	// Convert returns the currency conversion rate between two pairs e.g USD/GBP
	currencyService := currency.NewCurrencyService(token)

	rsp, err := currencyService.Convert(&currency.ConvertRequest{
		From: "USD",
		To:   "GBP",
	})

	fmt.Println(rsp, err)
}