m3o.dev

module
Version: v0.17.0 Latest Latest
Warning

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

Go to latest
Published: Jul 29, 2022 License: Apache-2.0

README ¶


Discord Banner


Introduction

M3O is a universal public API gateway.

Explore, discover and consume public APIs as simpler programmable building blocks all through one platform.

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+ APIs. 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 the APIs on the Explore page.
  • Call any API using your token in the Authorization: Bearer [Token] header
  • All APIs are available through one 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

Development

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

The site will be available on localhost:3000

For service development go into services/[name] and do micro run .

Infrastructure

See m3o/cloud for infrastructure automation.

Backend

See m3o/backend for the M3O API backend.

Directories ¶

Path Synopsis
Package api provides a micro api client
Package api provides a micro api client
cmd
examples
services module

Jump to

Keyboard shortcuts

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