All Projects → m3o → m3o

m3o / m3o

Licence: Apache-2.0 license
Shared infrastructure & cloud services

Programming Languages

typescript
32286 projects
go
31211 projects - #10 most used programming language
Makefile
30231 projects
javascript
184084 projects - #8 most used programming language
Dockerfile
14818 projects
CSS
56736 projects

Projects that are alternatives of or similar to m3o

Go Plugins
Go Micro Plugins. Moved to go-micro/plugins.
Stars: ✭ 1,654 (-25.06%)
Mutual labels:  m3o
backend
Backend powering the M3O platform
Stars: ✭ 64 (-97.1%)
Mutual labels:  m3o

M3O

Explore the cloud as serverless building blocks

Overview

M3O transforms public APIs into smaller easier to use Micro services which you can explore, discover and consume as serverless building blocks. The platform generates unified api docs, client libraries and examples on top of Micro services using protobuf to OpenAPI conversion and some custom tooling. The API gateway manages access using a pay per request billing model by debiting from a virtual wallet which you can topup via a standard credit or debit card.

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 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 curl 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

JS

Install the m3o package

npm install m3o

Call helloworld like so

const m3o = require("m3o").default(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

Install the cli

curl -fssl https://install.m3o.com/cli | /bin/bash

Example call

m3o helloworld call --name=Alice

See the m3o-cli for examples

Learn More

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].