services

package module
v0.0.0-...-2af310e Latest Latest
Warning

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

Go to latest
Published: Dec 23, 2022 License: Apache-2.0 Imports: 73 Imported by: 0

README

M3O Services Go.Dev reference License

Universal Micro Services

Overview

Micro services provide the fundamental building blocks for any products, apps or services. They can be used in isolation or combined to create powerful distributed systems. The services are intended to be consumed by each other using RPC and from the external world through M3O API.

Services

Services available thus far:

  • address - Address lookup by postcode
  • answer - Instant answers to any question
  • cache - Fast access key-value storage
  • crypto - Cryptocurrency prices, quotes, and news
  • currency - Exchange rates and currency conversion
  • db - Serverless postgres database
  • email - Send emails in a flash
  • emoji - All the emojis you need 🎉
  • evchargers - Find electric vehicle (EV) chargers wherever you go
  • event - Event stream processing
  • file - Store, list, and retrieve text files
  • forex - Foreign exchange (FX) rates
  • geocoding - Address geocoding and reverse lookup
  • gifs - Quick and simple GIF search
  • google - Google search service
  • helloworld - Just saying hello world
  • holidays - Find the holidays observed in a particular country
  • id - Generate unique IDs (uuid, snowflake, etc)
  • image - Upload, resize, and convert images
  • ip - IP to geolocation lookup
  • location - Real time GPS location tracking and search
  • notes - Store and retrieve notes
  • 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 SMS messages
  • stock - Live stock quotes and prices
  • 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 - Authentication and user management
  • vehicle - UK vehicle lookup
  • weather - Real time weather forecast
  • youtube - Search for YouTube videos
  • mq - PubSub messaging
  • stream - Ephemeral message streams
  • spam - Check if an email is spam
  • news - Get the latest news
  • app - Serverless app deployment
  • nft - Explore NFT Assets
  • space - Infinite cloud storage
  • movie - Search for movies
  • search - Indexing and full text search
  • translate - Language translation service
  • function - Serverless functions
  • avatar - Generate an avatar
  • contact - Store your contacts
  • carbon - Purchase carbon offsets
  • minecraft - Minecraft server ping
  • ping - Ping any URL
  • place - Search for places
  • chat - Real time messaging
  • lists - Make a list
  • comments - Add comments to any App
  • memegen - Generate funny memes
  • password - Generate strong passwords
  • bitcoin - Realtime Bitcoin price
  • analytics - Track and retrieve events
  • tunnel - Tunnel HTTP requests
  • price - Global commodities index
  • github - # Github Service
  • joke - Funny Jokes
  • dns - DNS over HTTPS (DoH)
  • twilio - Twilio SMS service
  • Wordle - Multiplayer wordle

Usage

Run a service from source

micro run github.com/m3o/m3o/services/helloworld

To call a service from another

import "m3o.dev/services/helloworld/proto"

Call it from the api

curl http://api.m3o.com/v1/helloworld/Call

Development

Services are copied from the upstream micro/services. For any changes please PR into upstream repo.

To pull upstream changes run ./upstream.sh

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	Address    address.AddressService
	Analytics  analytics.AnalyticsService
	Answer     answer.AnswerService
	App        app.AppService
	Avatar     avatar.AvatarService
	Bitcoin    bitcoin.BitcoinService
	Cache      cache.CacheService
	Carbon     carbon.CarbonService
	Chat       chat.ChatService
	Comments   comments.CommentsService
	Contact    contact.ContactService
	Crypto     crypto.CryptoService
	Currency   currency.CurrencyService
	Db         db.DbService
	Dns        dns.DnsService
	Email      email.EmailService
	Emoji      emoji.EmojiService
	Evchargers evchargers.EvchargersService
	Event      event.EventService
	File       file.FileService
	Forex      forex.ForexService
	Function   function.FunctionService
	Geocoding  geocoding.GeocodingService
	Gifs       gifs.GifsService
	Github     github.GithubService
	Google     google.GoogleService
	Helloworld helloworld.HelloworldService
	Holidays   holidays.HolidaysService
	Id         id.IdService
	Image      image.ImageService
	Ip         ip.IpService
	Joke       joke.JokeService
	Lists      lists.ListsService
	Location   location.LocationService
	Memegen    memegen.MemegenService
	Minecraft  minecraft.MinecraftService
	Movie      movie.MovieService
	Mq         mq.MqService
	News       news.NewsService
	Nft        nft.NftService
	Notes      notes.NotesService
	Otp        otp.OtpService
	Password   password.PasswordService
	Ping       ping.PingService
	Place      place.PlaceService
	Postcode   postcode.PostcodeService
	Prayer     prayer.PrayerService
	Price      price.PriceService
	Qr         qr.QrService
	Quran      quran.QuranService
	Routing    routing.RoutingService
	Rss        rss.RssService
	Search     search.SearchService
	Sentiment  sentiment.SentimentService
	Sms        sms.SmsService
	Space      space.SpaceService
	Spam       spam.SpamService
	Stock      stock.StockService
	Stream     stream.StreamService
	Sunnah     sunnah.SunnahService
	Thumbnail  thumbnail.ThumbnailService
	Time       time.TimeService
	Translate  translate.TranslateService
	Tunnel     tunnel.TunnelService
	Twitter    twitter.TwitterService
	Url        url.UrlService
	User       user.UserService
	Vehicle    vehicle.VehicleService
	Wallet     wallet.WalletService
	Weather    weather.WeatherService
	Wordle     wordle.WordleService
	Youtube    youtube.YoutubeService
}

func NewClient

func NewClient(c client.Client) *Client

Directories

Path Synopsis
ai
app
db
dns
id
ip
mq
nft
otp
pkg
api
Package api is a helper for calling external third party apis
Package api is a helper for calling external third party apis
cache
Cache provides a simple marshaling layer on top of the store
Cache provides a simple marshaling layer on top of the store
git
model
package model helps with data modelling on top of the store
package model helps with data modelling on top of the store
tenant
Package tenant provides multi-tenancy helpers
Package tenant provides multi-tenancy helpers
qr
rss
sms
test
chat/client
Package main is a client for the chat service to demonstrate how it would work for a client.
Package main is a client for the chat service to demonstrate how it would work for a client.
kv
url
lib

Jump to

Keyboard shortcuts

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