A open source self-hosted real-time ⚡ image feed.
Open Image Feed's goal is to provide a ready to run image feed which can be hosted on any server or computer.
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.
- Open source :
- 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
You can find one at https://oif.matthieulemoine.com.
Please do not hesitate to sign up and post some content.
- Authentication 🔒
- User profile 👨 👩
- Posts with image and title
- Comments ✏️
- Likes 👍
- Infinite scroll loading
- Real-time ⚡ update thanks to the power of RethinkDB & socket.io
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 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
npm start
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 |
- React
- Redux
- Material Design Lite
- Node.js
- Express
- RethinkDB
- Thinky
- Socket.io
- Webpack
- Jest
- Enzyme
- React Native
Do not hesitate to open an issue.
Feel free to contribute. Every contributions are welcome. Please read the contribution guidelines first.