Skip to content

Course «Professional web development with Ruby on Rails»

License

Notifications You must be signed in to change notification settings

leemour/underflow

Repository files navigation

Overview

Underflow is a Questions and Answers platform, built with Ruby on Rails.

Underflow Logo

Technically, it's a StackOverflow clone.

Features

  • Tags
  • Comments
  • Views
  • Votes
  • User profiles
  • Wisywig editor
  • Notifications
  • Badges

Dependencies:

  • 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

Installation

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;'"

Usage

Server:

$ spring rails server

PrivatePub:

$ rackup private_pub.ru -s thin -E production

I18n

Fully internationalized with Russian and English languages available.

License

MIT license: See license doc

About

Course «Professional web development with Ruby on Rails»

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published