Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lizainslie/rail-overflow
A Stack Overflow clone written in Ruby
https://github.com/lizainslie/rail-overflow
rails ruby ruby-on-rails stackoverflow
Last synced: about 2 months ago
JSON representation
A Stack Overflow clone written in Ruby
- Host: GitHub
- URL: https://github.com/lizainslie/rail-overflow
- Owner: LizAinslie
- Created: 2020-02-02T03:08:14.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-19T17:06:37.000Z (almost 2 years ago)
- Last Synced: 2024-05-01T18:26:19.609Z (8 months ago)
- Topics: rails, ruby, ruby-on-rails, stackoverflow
- Language: Ruby
- Homepage: https://overflow.raildev.tech
- Size: 3.73 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# RailOverflow
[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/RailRunner166/rail-overflow/tree/master)
RailOverflow (we're looking for a better name) is a self-hosted, open-source alternative to StackOverflow.
## Ruby version
RailOverflow requires Ruby 2.7.0. The easiest way to use this is by using our Vagrantfile or using a service like Heroku## System dependencies
You must have Postgresql installed to use this application. Install it on Ubuntu with:
```
$ sudo apt install postgresql
```## Configuration
You must install all Ruby and JavaScript dependencies before running any database migrations and before running the web app. To do this, we use [Bundler](https://bundler.io/) and [Yarn](https://yarnpkg.com/getting-started/install). (click on the links to see install instructions for each) Once you have Bundler and Yarn, run these two commands in the app directory.
```
$ bundle install
$ yarn install
```## Database creation
To create the necessary production database, run:
```
$ sudo -u postgres createdb railoverflow_production
```
> **Note:** If you are not running in production, substitute the word `production` for your Rails environment. (`development` or `test`)## Database initialization
To initialize the database, you will have to migrate it. No population is needed.To migrate the database, run:
```
$ RAILS_ENV=production rake db:migrate
```## Deployment instructions
### Heroku
### Manual Deploy
Run it yourself, like this:
```
$ export PORT=3000 # can be any port you want, just make sure it is open and accessible to the user that will be running the application
$ export MODE="production" # can also be "development" or "test"
$ bundle exec puma -t 5:5 -p $PORT -e $MODE
```> **Note:** The `-t 5:5` argument we sent to the `bundle exec puma` command represents the number of worker threads puma will spawn. You can set this to something else based on your system, but remember these two things:
>
> - The more threads you create, the faster your application will run, but it will also use more memory.
> - Every system has a maximum amount of threads it can run at once. Be mindful of this as it will error if you somehow go over.## Credits and License
### Credits:
- The logo was made by **JustMrRobBoss#2020** on Discord, here is [his Discord server](https://discord.gg/XYX3WPn).### License:
This application is licensed under the permissive [MIT license](LICENSE).