Giter Site home page Giter Site logo

matthieulemoine / open-image-feed Goto Github PK

View Code? Open in Web Editor NEW
19.0 4.0 1.0 527 KB

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

License: MIT License

JavaScript 93.25% HTML 0.56% CSS 0.51% Python 1.27% Java 1.03% Objective-C 3.38%
javascript node rethinkdb react socket-io

open-image-feed's Introduction

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.

open-image-feed's People

Contributors

mathieuchabas avatar matthieulemoine avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

praneybehl

open-image-feed's Issues

Store session info

For now, we have to login each time we refresh the page.
We need to find a way to store session data on client-side.

Trouble installing

Hi,
I am trying to install and when I run npm run build I have this error message :

ERROR in ./common/actions/posts/posts.js
Module not found: Error: Cannot resolve module 'socket.io-client/socket.io' in /var/lib/oif/open-image-feed/common/actions/posts
 @ ./common/actions/posts/posts.js 219:191-228

I tried to find a solution but I failed (I am new to nodeJS).
My system is debian jessie (8).
Thanks

Comments management

  • Front :
    • display comments
    • create comment
    • update comment
    • delete comment
  • Back
    • list comments
    • persist/update comment
    • delete comment

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.