Giter VIP home page Giter VIP logo

microstream's Introduction

MicroStream Banner

MicroStream, a DB-backed multi-platform API

Intro & Features โœจ

MicroStream is a versatile microblogging API for individuals who are tired of walled garden microblogging services like Twitter and Mastodon. At its core, Microstream seeks to break free from the constraints of such platforms, offering users more autonomy and control over their content.

๐ŸŒ Your Own Source of Truth: With MicroStream, your data is saved to Supabase DB, ensuring that you always have access to your original content, irrespective of third-party platforms.

  • โœ… Post to Twitter/X: Now Elon doesn't control your destiny.
  • โœ… Post to Mastodon: Don't hold your breath for Threads to federate.
  • โœ… Post to Threads: Using http://threads.junho.io API
  • โœ… RSS Support: Generates an RSS feed from your Microstream in Supabase.

Two Pre-Built Ways to Post

  • โœ… Input via Twilio SMS: Just sent your post to a Twilio phone number via SMS.
  • โœ… Input via Frontend Template: A simple frontend UI to post content powered by Next.JS for scalability.

Deploys for free to Supabase and Next.JS

+---------------------+         +--------+         +------------+
| Frontend Input UI   | ------> |  API   | ------> |  Twitter   |
| (Vercel/Next.js)    |         +--------+         +------------+
|           OR        |             |               +------------+
| Input via Twilio    |             +-------------->|  Mastodon  |
| Shortcut            |             |               +------------+
+---------------------+             |               +------------+
                                   +-------------->|  Threads   |
                                   |               +------------+
                                   |               +------------+
                                   +-------------->|  Supabase  |
                                   |               +------+-----+
                                   |                      |
                                   |                      |
                                   +----------------------+
                                                          |
                                                          v
                                                        +----+
                                                        | RSS |
                                                        +----+

Installation ๐Ÿ› 

Deploying Microstream and setting it up is a breeze. Follow these steps to get started:

  1. Clone the Repository:
    git clone https://github.com/bnjreece/microstream.git
    cd microstream
    
  2. Set Up Environment Variables Rename env-example.txt to .env.local and fill in the necessary values. Make sure you also add them to Vercel and Supabase. Here's a template
SUPABASE_URL=
SUPABASE_KEY=
TWITTER_CONSUMER_KEY=
TWITTER_CONSUMER_SECRET=
TWITTER_ACCESS_TOKEN_KEY=
TWITTER_ACCESS_TOKEN_SECRET=
MASTODON_API_URL=
MASTODON_ACCESS_TOKEN=
THREADS_USERNAME=
THREADS_PASSWORD=
TWITTER_OAUTH_CONSUMER_KEY=
TWITTER_OAUTH_TOKEN=
TWITTER_OAUTH_SIGNATURE_METHOD="HMAC-SHA1"
TWITTER_OAUTH_TIMESTAMP=
TWITTER_OAUTH_NONCE=
TWITTER_OAUTH_VERSION=
TWITTER_OAUTH_SIGNATURE=
  1. Deploy on Vercel Ensure you have the Vercel CLI installed. If not, install it using npm i -g vercel. Then, deploy it: vercel

  2. Set Up Supabase Visit Supabase and create a new project. Follow the instructions to set up the database and auth modules. Use the provided URL and ANON KEY in your .env.local file.

  3. Run Locally npm install This will install various packages like @supabase/supabase-js, axios, feed, mastodon-api, next, twitter-lite, and others that are essential for the project to function correctly. Build it npm run build Then run the app locally: npm run dev

Notes & Wish List ๐Ÿ“

Make sure to change your RSS details in the /pages/api/rss.ts file to your RSS details

microstream's People

Contributors

bnjreece avatar

Stargazers

Cioclea Doru Octavian avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.