update README, TODO and add CONTRIBUTING

This commit is contained in:
pixeldesu 2015-07-06 20:34:06 +02:00
parent d2c59c047d
commit 0c78d619b4
3 changed files with 47 additions and 141 deletions

28
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,28 @@
# Contributing
Thank you for reading this! This document has some notes on contributing to the development of Hummingbird.
## Reporting bugs
Before submitting an issue please check if there is already an existing issue. If there is, please add any additional information or give it a "+1" in the comments.
When submitting an issue please describe the issue clearly, including how to reproduce the bug, which situations it appears in, what you expect to happen, what actually happens, and what platform (browser and operating system) you are using. We find screenshots (for front-end issues) very helpful.
## Pull Requests
1. Fork it ( https://github.com/Retrospring/retrospring/fork )
2. Create your feature branch (`git checkout -b feature-new`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin feature-new`)
5. Create a new Pull Request
We love pull requests! We are very happy to work with you to get your changes merged in, however please keep the following in mind.
* Please use the core team standard of `feature-*` branch naming.
* Adhere to the coding conventions you see in the surrounding code.
* If you include a new feature also include tests, and make sure they'll pass.
* Before submitting a pull-request, clean up the history by going over your commits and squashing together minor changes and fixes into the corresponding commits. You can do this using the interactive rebase command.
## What to work on
If you want to know what you can help us with, like new features, check the Github issues or the [TODO](https://github.com/Retrospring/retrospring/blob/master/TODO).

136
README.md
View File

@ -1,8 +1,6 @@
# Retrospring [![Build Status](https://travis-ci.org/Retrospring/retrospring.svg)](https://travis-ci.org/Retrospring/retrospring) [![Bugs](https://badge.waffle.io/retrospring/bugs.svg?label=in+progress&title=In+Progress)](http://waffle.io/retrospring/bugs)
This is the source code that powers Retrospring. Yep, all of it. Including
all the branches where we left off.
This is the source code that powers Retrospring. This is a detached fork of [nilsding/justask](https://github.com/nilsding/justask), where we continue development.
<!--
Except for the memes that happened 4 hours before the shutdown. I've edited
@ -10,137 +8,13 @@ it right on the server, without a special branch or something. If you want
to, I can make a branch with all the modifications we made.
-->
## Requirements
## Installation
- UNIX-like system (Linux, FreeBSD, ...)
- Ruby 2.0.0+
- Bundler
- PostgreSQL
- Redis (for Sidekiq)
- ImageMagick (for image processing)
You can find all the installation instructions needed for a local/production setup of Retrospring in the [Wiki](https://github.com/Retrospring/retrospring/wiki/Setup)!
## Installation (production)
## Contributing
We've installed justask on FreeBSD 10 using rvm. What we also did was
creating a new, seperate user just for justask to run in. On FreeBSD, this
is done with:
# pw user add justask
### Database
At Retrospring, we were using PostgreSQL as the database backend. The
software might work on MySQL too, but that was not tested.
Installation from Ports (using `portmaster`):
# portmaster databases/postgresql93-server
#### PostgreSQL
$ sudo -u postgres psql -d template1
template1=# CREATE USER justask CREATEDB;
template1=# CREATE DATABASE justask_production OWNER justask;
template1=# \q
Try connecting to the database:
$ psql -U justask -d justask_production
### nginx
See [docs/nginx.conf](https://github.com/Retrospring/retrospring/blob/master/docs/nginx.conf)
for the configuration we use on Retrospring.
### justask
#### Clone the Source
$ git clone --recursive https://github.com/Retrospring/retrospring.git retrospring
#### Configure It
# Change into the project directory
$ cd retrospring
# Copy the example config
$ cp config/justask.yml.example config/justask.yml
# Edit the configuration file
$ vi config/justask.yml
#### Database Configuration
$ cp config/database.yml.postgres config/database.yml
$ vi config/database.yml
# Make database.yml readable only for you
chmod o-rwx config/database.yml
#### Install Gems
# Deployment:
$ bundle install --deployment --without development test mysql
# Development:
$ bundle install --without production mysql
#### Initialize Database
$ bundle exec rake db:migrate RAILS_ENV=production
#### Compile Assets
$ bundle exec rake assets:precompile RAILS_ENV=production
#### Run the server
# Production mode:
$ foreman start
# Development mode:
$ bundle exec rails server
Now, create an account on your justask installation.
To make yourself an admin, just execute:
$ bundle exec rake 'justask:admin[your_username]' RAILS_ENV=production
If you want to remove admin status from a certain user, you can do this:
$ bundle exec rake 'justask:deadmin[get_rekt]' RAILS_ENV=production
Add/remove moderators (this can also be done via the web interface by visiting an user as an admin):
$ bundle exec rake 'justask:mod[someone_else]' RAILS_ENV=production
$ bundle exec rake 'justask:demod[someone_else]' RAILS_ENV=production
Add/remove supporters (this can also be done via the web interface by visiting an user as an admin/mod):
$ bundle exec rake 'justask:sup[someone_else]' RAILS_ENV=production
$ bundle exec rake 'justask:desup[someone_else]' RAILS_ENV=production
Export user data:
$ bundle exec rake 'justask:export[jdoe@example.tld]' RAILS_ENV=production
Find the user(s) with the most self-asked anonymous questions:
$ bundle exec rake justask:loners
#### Updating Submodules
If you already have an existing copy of justask, you can initialize and update the submodules with;
$ git submodule init
$ git submodule update
## The Official Retrospring Closedown Soundtrack™ (now redundant)
* [Scooter - Can't Stop The Hardcore](https://www.youtube.com/watch?v=nJ3bet-Y79w)
* [Darude - Sandstorm](https://www.youtube.com/watch?v=y6120QOlsfU)
* [Max Raabe - Oops I Did It Again](https://www.youtube.com/watch?v=qYr9kIyambE)
Guidelines for Pull Requests and general information about how you can help us improving Retrospring can be found [here](https://github.com/Retrospring/retrospring/blob/master/CONTRIBUTING.md)!
## License

24
TODO
View File

@ -2,23 +2,15 @@ Not done:
[001| 0%] user blocking (prohibits blocked user from asking question to that person and seeing their answers)
[007| 20%] (?) keyboard shortcuts
|----- Open "Ask your followers" with Ctrl/Meta+M
[010| 0%] locales (these can wait for now)
|----- (somewhat) working in justask/feature-semantic
[015| 0%] make a public accessible API (maybe even as an oauth provider?)
[016| 5%] WRYYYYte more specs
[020| 0%] helper function for profile headings to resize on certain string length
[022| 0%] recommended follows
|----- Solved with Discover (?)
[023| 0%] disabling group-questions
[024| 0%] disabling questions from certain users
[025| 0%] answering options (sharing/nsfw/private) in inbox panels
[026| 0%] profile headers
[027| 66%] moderation
|----- moderator user group √
|----- moderation panel √
|----- ability to report questions ×
In Progress:
[003| 50%] file uploads (for now only avatars, file uploads for embedding images in questions MAYBE LATER)
[003| 75%] file uploads (for now only avatars, file uploads for embedding images in questions MAYBE LATER)
[011| 75%] auto-posting to other services (twatter, fakelook)
Finished:
@ -36,3 +28,15 @@ Finished:
|----- restructure comment design
[012|100%] (?) open source the entire thing in late 2015 or 2016 maybe, after we got bought by fakelook.
[017|100%] write "terms of service" and a privacy policy.
[025|100%] answering options (sharing/nsfw/private) in inbox panels
[026|100%] profile headers
[027| 66%] moderation
|----- moderator user group √
|----- moderation panel √
|----- ability to report questions √
Needs rewrite:
[010|100%] locales (these can wait for now)
Stalled:
[020| 0%] helper function for profile headings to resize on certain string length