m3o.dev

module
v0.19.0 Latest Latest
Warning

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

Go to latest
Published: Aug 24, 2022 License: Apache-2.0

README

M3O

M3O is a universal micro services gateway

Overview

M3O turns public APIs into smaller easier to use Micro services which you can explore, discover and consume as programmable building blocks. The platform generates unified api docs, clients and examples which makes it vastly easier to use all the APIs out there.

Features

Here are the main features:

  • 1️⃣ ONE Platform - Discover, explore and consume public APIs all in one place.
  • ☝️ ONE Account - Manage your API usage with one account and one token.
  • ⚡ ONE Framework - Learn, develop and integrate using one set of docs and libraries.

Services

So far there are over 60+ services. Here are some of the highlights:

☁️ Cloud
  • Apps - Serverless app deployment
  • Database - Serverless postgres database
  • Functions - Serverless lambda functions
  • Events - Publish and subscribe to messages
  • Users - User management and authentication
  • Space - Infinite cloud storage
  • Search - Indexing and full text search
🗺️ Logistics
  • Address - Address lookup by postcode
  • Geocoding - Geocode an address to gps location and the reverse.
  • Location - Real time GPS location tracking and search
  • Places - Search for geographic points of interest
  • Routes - Etas, routes and turn by turn directions
  • IP2Geo - IP to geolocation lookup
⚙️ Miscellaneous
  • Email - Send emails in a flash
  • Image - Quickly upload, resize, and convert images
  • OTP - One time password generation
  • QR Codes - QR code generator
  • SMS - Send an SMS message
  • Weather - Real time weather forecast

See the full list at m3o.com/explore.

Getting Started

  • Head to m3o.com and signup for a free account.
  • Browse services on the Explore page.
  • Call any service using your token in the Authorization: Bearer [Token] header
  • All services are available through one API endpoint: https://api.m3o.com/v1/*.
  • Use m3o-cli, m3o-js and m3o-go clients for development

Quick Start

Grab your API token from the dashboard and try out helloworld and export it

export M3O_API_TOKEN=xxxxxxx
Curl
curl \
  -H "Authorization: Bearer $M3O_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "John"}' \
  https://api.m3o.com/v1/helloworld/call

Find all the shell examples in m3o-sh

Go

Import packages from go.m3o.com

import (
        "go.m3o.com"
        "go.m3o.com/helloworld"
)

Create a new client with your API token and call it

client := m3o.New(os.Getenv("M3O_API_TOKEN"))
rsp, err := client.Helloworld.Call(&helloworld.CallRequest{
	Name: "John",
})
fmt.Println(rsp, err)

Find all the Go examples in m3o-go

Javascript

Install the m3o package

npm install m3o

Call helloworld like so

const m3o = require("m3o")(process.env.M3O_API_TOKEN);

// Call returns a personalised "Hello $name" response
async function main() {
  let rsp = await m3o.helloworld.call({
    name: "John",
  });
  console.log(rsp);
}

main();

Find more JS examples in m3o-js

CLI

Download the m3o-cli

m3o helloworld call --name=Alice

See the examples for more use cases.

Learn More

Web Development

For app development go into apps/web and run npm install && npm run dev

The site will be available on localhost:3000

Infrastructure

See m3o/cloud for infrastructure automation.

Backend

See m3o/backend for the M3O API backend.

Services

See m3o/services for service source code.

Directories

Path Synopsis
api
client
Package client provides a micro api client
Package client provides a micro api client
apps
home Module
cmd
m3o
m3o/cli
Package cli contains source code for the cli
Package cli contains source code for the cli
examples
services module

Jump to

Keyboard shortcuts

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