rstat.us is a microblogging site built on top of the ostatus protocol.
Helping out with rstat.us
If you'd like to contribute, here are some details:
- The stack: ruby/sinatra/mongodb
- The code
- The documentation (need lots of improvement here!)
- The Issues list
- Please fork the project and make a pull request
Source code documentation
We have documentation that explains all of our source code, using rocco. You can view it here.
Setting up a dev environment
$ git clone https://github.com/$MY_GITHUB_USERNAME/rstat.us.git $ cd rstat.us
Copy the config file; if you have actual Twitter API keys, you can add yours, but this file just needs to exist for the server to work.
$ cp config/config.yml.sample config/config.yml
Then update your gemset:
$ gem install bundler && bundle install
And start the server:
Bam! Visit http://localhost:9292/ in your browser, and you'll be good.
$ rake assets:compile
Note: This relies on some sort of coffee compiler being installed globally. If you get "undefined method 'compile' for nil:NilClass", that might be your problem. On Ubuntu, installing the nodejs package fixes this; for other systems, check out nodejs.org.
For coffee-script installation, check the docs.
You may also need the java runtime for asset compression, which is handled by jammit using yui compressor and closure compiler. Installing a JDK, such as OpenJDK should do the trick.
We use gettext for translations. Please contribute only if you have a sufficient working knowledge of a language to do so.
To update the translations template file and each language's strings file, run
rake updatepo. To build each language's database after making changes to po
For now, you can commit your mo files in addition to po files.
Running your own node
If you need help with this, then you're not ready to run one. Here's the deal: we're still finishing up our ostatus implementation, and until it's 100% compatible, these instructions are kept secret. Eventually, we plan on making this super easy, but until we feel that it's ready, we're keeping the instructions 'secret.' Sorry!
If you do run your own node anyway, please keep current with upstream until we hit 1.0, and it should all be smooth sailing!