MatthieuLemoine / open-image-feed

A open source self-hosted real-time image feed.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Open Image Feed

Build Status Coverage Status

A open source self-hosted real-time ⚑ image feed.

Description πŸ“„

Open Image Feed's goal is to provide a ready to run image feed which can be hosted on any server or computer.

What is an image feed ?

You surely know some image feeds like 9GAG. The idea behind a image feed is to provide an easy way for users to share an image (which can be animated) and to comment other users' posts.

How OIF differs from others image feeds ?

  • Open source :octocat: :
    • Everyone can contribute
    • Everybody have free access to it.
  • Self-hosted 🌐 :
    • You need to install it on a server to make your instance accessible for others to use
    • You keep control of your data
    • You can deploy as many instances of OIF that you want : an instance for your work place 🏒, another for your friends or familly 🏠...
  • Real-time ⚑ :
    • Real-time loading of new posts / comments / likes
    • Real-time reloading of updated posts / comments / likes

Is this real life ?

Where can i find a live example ?

You can find one at https://oif.matthieulemoine.com.

Please do not hesitate to sign up and post some content.

Functionalities πŸ“˜

  • Authentication πŸ”’
  • User profile πŸ‘¨ πŸ‘©
  • Posts with image and title
  • Comments ✏️
  • Likes πŸ‘
  • Infinite scroll loading
  • Real-time ⚑ update thanks to the power of RethinkDB & socket.io

Mobile app πŸ“±

Open Image Feed, it's also a mobile app powered by React Native. The OIF mobile app is still on alpha stage, some key features are missing and have only been tested on Android.

This mobile app will allow users to connect to several instances of OIF and to receive push notifications on new post/like/comment.

Install πŸ”Œ

Install Node.js

You can find the installation instructions for your OS/distrib in Node.js official documentation.

Install RethinkDB

You can find the installation instructions for your OS/distrib in RethinkDB official documentation.

Install dependencies & build

npm i
npm run build

Run πŸƒ

npm start

Configuration

Open Image Feed uses environment variables to configure rethinkdb access :

Environment variable Default value
RETHINKDB_HOST localhost
RETHINKDB_PORT 28015
RETHINKDB_DB openImageFeed
RETHINKDB_USER empty
RETHINKDB_PASSWORD empty

Tooling πŸ”§

Need help or found a bug ❓

Do not hesitate to open an issue.

Contribute πŸ“

Feel free to contribute. Every contributions are welcome. Please read the contribution guidelines first.

About

A open source self-hosted real-time image feed.

License:MIT License


Languages

Language:JavaScript 93.3%Language:Objective-C 3.4%Language:Python 1.3%Language:Java 1.0%Language:HTML 0.6%Language:CSS 0.5%