From 0c78d619b4dd16b6d0e67a2848008c7c40a32910 Mon Sep 17 00:00:00 2001 From: pixeldesu Date: Mon, 6 Jul 2015 20:34:06 +0200 Subject: [PATCH] update README, TODO and add CONTRIBUTING --- CONTRIBUTING.md | 28 ++++++++++ README.md | 136 ++---------------------------------------------- TODO | 24 +++++---- 3 files changed, 47 insertions(+), 141 deletions(-) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..3c55ee6c --- /dev/null +++ b/CONTRIBUTING.md @@ -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). diff --git a/README.md b/README.md index fbb0c120..93454ae5 100644 --- a/README.md +++ b/README.md @@ -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. -## 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 diff --git a/TODO b/TODO index 42ab8b31..14d0438a 100644 --- a/TODO +++ b/TODO @@ -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 \ No newline at end of file