1
0
mirror of https://github.com/go-micro/go-micro.git synced 2024-11-24 08:02:32 +02:00
go-micro/services
2022-01-03 11:21:20 +00:00
..
address move the api client 2022-01-03 11:21:20 +00:00
answer move the api client 2022-01-03 11:21:20 +00:00
app move the api client 2022-01-03 11:21:20 +00:00
avatar move the api client 2022-01-03 11:21:20 +00:00
cache move the api client 2022-01-03 11:21:20 +00:00
contact move the api client 2022-01-03 11:21:20 +00:00
crypto move the api client 2022-01-03 11:21:20 +00:00
currency move the api client 2022-01-03 11:21:20 +00:00
db move the api client 2022-01-03 11:21:20 +00:00
email move the api client 2022-01-03 11:21:20 +00:00
emoji move the api client 2022-01-03 11:21:20 +00:00
evchargers move the api client 2022-01-03 11:21:20 +00:00
event move the api client 2022-01-03 11:21:20 +00:00
file move the api client 2022-01-03 11:21:20 +00:00
forex move the api client 2022-01-03 11:21:20 +00:00
function move the api client 2022-01-03 11:21:20 +00:00
geocoding move the api client 2022-01-03 11:21:20 +00:00
gifs move the api client 2022-01-03 11:21:20 +00:00
google move the api client 2022-01-03 11:21:20 +00:00
helloworld move the api client 2022-01-03 11:21:20 +00:00
holidays move the api client 2022-01-03 11:21:20 +00:00
id move the api client 2022-01-03 11:21:20 +00:00
image move the api client 2022-01-03 11:21:20 +00:00
ip move the api client 2022-01-03 11:21:20 +00:00
joke move the api client 2022-01-03 11:21:20 +00:00
location move the api client 2022-01-03 11:21:20 +00:00
movie move the api client 2022-01-03 11:21:20 +00:00
mq move the api client 2022-01-03 11:21:20 +00:00
news move the api client 2022-01-03 11:21:20 +00:00
nft move the api client 2022-01-03 11:21:20 +00:00
notes move the api client 2022-01-03 11:21:20 +00:00
otp move the api client 2022-01-03 11:21:20 +00:00
postcode move the api client 2022-01-03 11:21:20 +00:00
prayer move the api client 2022-01-03 11:21:20 +00:00
qr move the api client 2022-01-03 11:21:20 +00:00
quran move the api client 2022-01-03 11:21:20 +00:00
routing move the api client 2022-01-03 11:21:20 +00:00
rss move the api client 2022-01-03 11:21:20 +00:00
search move the api client 2022-01-03 11:21:20 +00:00
sentiment move the api client 2022-01-03 11:21:20 +00:00
sms move the api client 2022-01-03 11:21:20 +00:00
space move the api client 2022-01-03 11:21:20 +00:00
spam move the api client 2022-01-03 11:21:20 +00:00
stock move the api client 2022-01-03 11:21:20 +00:00
stream move the api client 2022-01-03 11:21:20 +00:00
sunnah move the api client 2022-01-03 11:21:20 +00:00
thumbnail move the api client 2022-01-03 11:21:20 +00:00
time move the api client 2022-01-03 11:21:20 +00:00
translate move the api client 2022-01-03 11:21:20 +00:00
twitter move the api client 2022-01-03 11:21:20 +00:00
url move the api client 2022-01-03 11:21:20 +00:00
user move the api client 2022-01-03 11:21:20 +00:00
vehicle move the api client 2022-01-03 11:21:20 +00:00
weather move the api client 2022-01-03 11:21:20 +00:00
youtube move the api client 2022-01-03 11:21:20 +00:00
README.md go-micro.dev/v4 (#2305) 2021-10-12 12:55:53 +01:00
services.go fix client 2021-12-30 09:47:40 +00:00

Services

Micro Services provide additional functionality via external third party services.

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 main

import (
	"fmt"
	"os"

	"go-micro.dev/v4/services/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",
	})

	// {
	//	"from": "USD",
	//	"to": "GBP",
	//	"rate": 0.7104
	// }
	fmt.Println(rsp, err)
}