Underflow is a Questions and Answers platform, built with Ruby on Rails.
Technically, it's a StackOverflow clone.
- Tags
- Comments
- Views
- Votes
- User profiles
- Wisywig editor
- Notifications
- Badges
- Ruby 2.3.6
- Rails 4.2
- PostgreSQL
- Unicorn
- Faye (based on Node.JS) for pub/sub
- Thin (for Faye)
- RSpec
- Capistrano
- Redis
- Sphinx search
- MySQL (for Sphinx Search)
- SASS
Steps:
$ bundle
Create user underflow in PostgreSQL with DB underflow:
$ sudo su postgres
$ createuser -S -d -R -e -l -P underflow
File db/database.yml uses credentials from secrets.yml. it is supposed to be in repository and it should be unchanged. Edit secrets.yml to set your credentials. Keep all secrets inside secrets.yml as it's added to .gitignore.
Create DB, run migrations and seed (if any seeds) for test & development:
$ rails db:setup
$ RAILS_ENV=test rails db:setup
If migrations fail because of hstore:
$ sudo apt-get install postgresql-contrib
$ sudo su postgres
$ psql -d underflow_dev
# inside psql
$ CREATE EXTENSION hstore;
$ \c underflow_test
$ CREATE EXTENSION hstore;
OR $ sudo su postgres -c "psql underflow_dev -c 'CREATE EXTENSION hstore;'"
Server:
$ spring rails server
PrivatePub:
$ rackup private_pub.ru -s thin -E production
Fully internationalized with Russian and English languages available.
MIT license: See license doc
