Skip to content

@channel is down at the moment since I do not have enough time to continue working on it

Notifications You must be signed in to change notification settings

PiJoules/atchannel

Repository files navigation

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 anime"

@channel as portrayed in the VN "@channel as portrayed in the VN"

Setup for development

  1. Before cloning this repo, make sure you have pip, python 2.7.x, mongo, and mongod installed.

  2. @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, and comments. Enter the mongo shell and enter the commands:

> use atchannel
> db.createCollection("messages")
> db.createCollection("channels")
> db.createCollection("comments")
  1. @channel just requires 2 channels to exist before launching the server: the main channel, and a Suggestions 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."})
  1. 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.

  1. Create the python files missing from the private directory. The file names and their contents are listed in private/README.md.

  2. Start the mongo server with sudo mongod and python __init__.py to start the flask server on localhost. Post 5000 is the default.

Setup for Production

In this README.

Contributing

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.

Dependencies

Installed via pip

  • Flask
  • pymongo
  • requests

Javascript dependencies (included)

  • jQuery
  • TextFill
  • Mobile Detect
  • Bootstrap
  • Bootstrap Switch
  • Bootstrap Markdown
  • Bootstrap Image Gallery
  • reCaptcha

Updates

In this README.

Todo