Skip to content

lambdaR/m3o

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Discord Banner


Introduction

M3O is a universal public API interface.

Explore, discover and consume public APIs as simpler programmable building blocks all on 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

Go into apps/web and run npm install && npm run dev

The site will be available on localhost:3000

Self Hosting

Details on self hosting coming soon. See m3o/platform for pulumi automation.

About

The open source AWS alternative

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 77.3%
  • Go 17.0%
  • JavaScript 4.6%
  • CSS 0.7%
  • Dockerfile 0.2%
  • Shell 0.1%
  • Makefile 0.1%