The goal of this website is to replicate the @channel from the anime Steins;Gate as much as possible (making this basically a parody of 4chan). Here you will find various channels dedicated to a variety of topics created by users. Users do not need to register an account before participating in a channel.
It should be noted that I am a scrub who has not played the VN, nor do I plan to play it any time in the near future. The website was entirely inspire by the Steins;Gate anime, so any design portrayed in the VN will be put second to the design in the anime.
@channel as portrayed in the anime
@channel as portrayed in the VN
-
Before cloning this repo, make sure you have pip,
python 2.7.x
,mongo
, andmongod
installed. -
@channel stores everything on a MongoDB database. On mongo, you will need to make create a database called
atchannel
and in that, make sure these 3 collections exist:messages
,channels
, andcomments
. Enter the mongo shell and enter the commands:
> use atchannel
> db.createCollection("messages")
> db.createCollection("channels")
> db.createCollection("comments")
- @channel just requires 2 channels to exist before launching the server: the
main
channel, and aSuggestions
channel. On the mongo shell, enter:
> db.channels.insert({_id: "main", seq: 0, time: Date.now(), description: "This is the main channel in @channel. Feel free to post anything about anything."})
> db.channels.insert({_id: "Suggestions", seq: 0, time: Date.now(), description: "Post any suggestions you feel could improve @channel or features you would like to see on @channel."})
- You can now exit the shell. Before starting the server, make sure you have the python dependencies installed by running:
$ pip install -r requirements.txt -t lib
This will install the dependencies in the lib
directory, and each one will eventually be added onto the python classpath.
-
Create the python files missing from the
private
directory. The file names and their contents are listed in private/README.md. -
Start the mongo server with
sudo mongod
andpython __init__.py
to start the flask server on localhost. Post 5000 is the default.
In this README.
Feel free to fork this repo and develop on it as much as you like. I would love nothing more than having people help develop @channel, especially since I am a total noob at flask and mongodb. If you think you can improve the code, feel free to submit a pull request. If multiple people want to consitently develop and contribute to @channel. I will make this repo into an organization so it will be easier to invite people.
Installed via pip
- Flask
- pymongo
- requests
Javascript dependencies (included)
- jQuery
- TextFill
- Mobile Detect
- Bootstrap
- Bootstrap Switch
- Bootstrap Markdown
- Bootstrap Image Gallery
- reCaptcha
In this README.
- Find new way for resizing markdown content in each post. `Zoom` does not work in Firefox or IE, but does work on Chrome and Safari.
- Add stats to front page and channel pages. (http://flask.pocoo.org/snippets/71/ & http://stackoverflow.com/questions/12770950/flask-request-remote-addr-is-wrong-on-webfaction-and-not-showing-real-user-ip for getting number of users)
- Add reply and report buttons to each post.
- Add channel search.
- Add post search.
- Add pagination to each channel.
- Add ability to choose user icon.