1
0
mirror of https://github.com/fazo96/ipfs-boards synced 2025-01-10 12:24:20 +01:00

update docs

This commit is contained in:
Enrico Fasoli 2015-12-20 21:29:37 +01:00
parent 6ab84ba064
commit 59ba772e97
2 changed files with 39 additions and 45 deletions

View File

@ -6,6 +6,7 @@ You'll need:
- __git__: you can get it just like node and npm - __git__: you can get it just like node and npm
- __webpack and webpack-dev-server__: you can get them by running `npm install -g webpack webpack-dev-server`. It might require super user privileges - __webpack and webpack-dev-server__: you can get them by running `npm install -g webpack webpack-dev-server`. It might require super user privileges
- __go-ipfs__: you can get it like git and node, but not always, you may need to follow its istructions on its repo - __go-ipfs__: you can get it like git and node, but not always, you may need to follow its istructions on its repo
- make sure you use __go-ipfs 0.4.0 or higher__. `0.4.0-dev` is fine of course.
1. Clone this repository and `cd` to its directory 1. Clone this repository and `cd` to its directory
1. run `npm install` to get dependences (there are many) 1. run `npm install` to get dependences (there are many)

View File

@ -1,33 +1,45 @@
# IPFS Boards # IPFS Boards
The easy to use Discussion Board platform that runs in modern web browsers but requires _no servers_ and The easy to use Social Platform that runs in modern web browsers but requires _no servers_ and
_no external applications_ to work. _no external applications_ to work.
This Application aims to allow users to:
- __Share Data__ with the world, in a distributed and permanent way, whether it is documents, media, posts or files and folders
- __Discover__ other user's content by visiting a link to their profiles, and then seeding the content they like the most
- __Connect__ with other people, building communities and merging boards.
All of these in a fully distributed way: servers help by seeding content, but they are not necessary for the application to work.
The App is being developed to be versatile: it will run in web browsers, and it will bundle a viewer that will understand and display
_any file or folder_ already hosted via IPFS, with a nice user interface and optionally social features on top.
![Board view screenshot](https://ipfs.pics/ipfs/QmezECALggzJLK89j4hhDVPwVv5gzmZMLbYi8zbjpXWvVH) ![Board view screenshot](https://ipfs.pics/ipfs/QmezECALggzJLK89j4hhDVPwVv5gzmZMLbYi8zbjpXWvVH)
This is how the Board view looks at the moment. You can see that markdown syntax is supported in all text bodies, This is how the Board view looks in the current prototype. You can see that markdown syntax is supported in all text bodies,
and the administrator name `fazo96` and also the other allowed posters, in this case only one. Posts are shown in chronological order, but other sorting methods are planned. and the administrator name `fazo96` and also the other allowed posters,
in this case only one. Posts are shown in chronological order, but other sorting methods are planned.
![Post view screenshot](https://ipfs.pics/ipfs/QmZntzNLyRgTPfaNhc4B23AWKQxPcwmjjBv3WPMh78ieeQ) ![Post view screenshot](https://ipfs.pics/ipfs/QmZntzNLyRgTPfaNhc4B23AWKQxPcwmjjBv3WPMh78ieeQ)
This is the Post view with reddit style comments. This is the Post view with reddit style comments.
All functionality shown in the screenshot is already implemented and content is downloaded from IPFS. __Most mentioned functionality is already implemented and a lot more is coming :)__
## Why ## Why
Image and discussion boards, forums and the like have many problems: Discussion boards, forums and other social platforms have many problems:
- Centralized - __Centralized__
- What if it gets shut down? - What if it gets shut down?
- What if the servers are down? - What if the servers are down?
- Fragile - __Fragile__
- What if there's a DoS attack? - What if there's a DoS attack?
- What if there is a usage explosion and the servers can't handle it? - What if there is a usage explosion and the servers can't handle it?
- What if the datacenter is flooded and data is lost? - What if the datacenter is flooded and data is lost?
- Limited - __Limited__
- What if you want new functionality or restore old features? - What if you want new functionality or restore old features?
- What if you want to build custom clients or extensions to the service? - What if you want to build custom clients or extensions to the service?
- What if you want to use it in a Local Network with no Internet access and no servers? - What if you want to use it in a Local Network with no Internet access and no servers?
@ -39,72 +51,53 @@ This project was conceived to solve that. With the help of:
- IPLD and [POST](https://github.com/ipfs/POST) protocols for a common, universal data structure - IPLD and [POST](https://github.com/ipfs/POST) protocols for a common, universal data structure
- Modern browsers and web technologies for a portable, accessible user interface - Modern browsers and web technologies for a portable, accessible user interface
We can solve these problems and create a true universal platform which can act as: We can solve these problems and create a _truly universal social platform_ which can act as:
- Discussion board, like reddit or 4chan - Discussion board, like reddit or 4chan
- Blog with dynamic comments - Blog with dynamic comments
- Wiki - Wiki
- File Sharing platform - File Sharing platform, like dropbox.
- Forum - Forum
- (Maybe) E-Learning platform - (Maybe) E-Learning platform
With security, control, reliability, rock solid stability, fully distributed With security, control, reliability, rock solid stability, fully distributed
architecture or, optionally, none of these! architecture or, _optionally_, none of these!
## Get Started ## Get Started
The App is not ready yet, but you're welcome to take a look at the prototype, __The App is not ready yet__, but you're welcome to take a look at the prototype,
even though it only has informational pages and very limited functionality. even though it has limited functionality and is cumbersome to set up at the
moment.
Also keep in mind that due to issues with the current implementation of IPNS in Also keep in mind that due to issues with the current implementation of IPNS in
go-ipfs, real world usage of the prototype is very limited. This will all be go-ipfs, real world usage of the prototype is very limited. This will all be
sorted out as soon as go-ipfs' next version, 0.4, is out. sorted out as soon as go-ipfs' next version, 0.4, is out.
You can take a look at the prototype [here](http://ipfs.io/ipfs/QmYa82UfaidkpdpWQCq8WdeiB9vLSn78i2JHJsqzki31MV) If you want to really use the prototype, you can take a look at `CONTRIBUTING.md`
but you won't be able to actually use it. to set up a developer environment and try it out.
If you want to really use the prototype, you can quickly set up your machine like this: __Note about current status:__ almost every feature is _not_ optimized, _not_
efficient, but almost all solutions to current problems are already well defined,
frozen, and being developed, _expecially_ regarding __IPFS__.
1. get `go-ipfs` installed on your OSX or GNU/Linux system __Note about short term future:__ after `go-iofs 0.4` comes out, a public demo will be available and you'll
1. run this in a terminal `API_ORIGIN="localhost:8080" ipfs daemon` just have to open a link to try the app!
1. open [this](http://localhost:8080/ipfs/QmYa82UfaidkpdpWQCq8WdeiB9vLSn78i2JHJsqzki31MV) in your browser
1. You're all set!
__Note:__ a javascript implementation of IPFS is in progress. As soon as it's done, you will not need __Note about long term future:__ a javascript implementation of IPFS is in progress. As soon as it's done, you will not need
go-ipfs anymore and this application will truly run in the browser without external dependencies. go-ipfs anymore and this application will truly run in the browser without external dependencies.
### Additional information
You need a local instance of go-ipfs running for it to work. You also need to set
CORS settings right or it won't work. However, in that case, it will complain to
you and provide instructions.
Keep in mind that it's a _very early_ prototype, nothing is finished, nothing
is polished, but something works. It's also probably full of security holes,
very inefficient, slow, etc. You're welcome to help in any way though!
Also, remember that __it doesn't have__:
- Ability to post and create a profile from the web app (it's read only for now)
- Aggregation (it's quite limited for now)
- Advanced customization, control, user profile customization
- Media support
- Votes
- Ability to run without a full IPFS node. That would require either a Backend or the (currently not done) js implementation of IPFS
Ability to publish stuff in the browser won't be implemented until go-ipfs 0.4
is ready. It will maybe be ready before the new year.
You will be able to publish your boards/profile/posts using a CLI though.
## FAQ ## FAQ
See `FAQ.md` See `FAQ.md`
If you have any questions not already answered, please open an issue and
consider contributing to the documentation and FAQs.
### How does it work? ### How does it work?
See `PROTOCOL.md` See `PROTOCOL.md`
### How do I set up a development environment? ### How do I set up a development environment and contribute?
See `CONTRIBUTING.md` See `CONTRIBUTING.md`