Commit fb19af26 authored by Zac Wood's avatar Zac Wood

Add install instructions to README

parent d616e7e4
Pipeline #4798 passed with stage
in 2 minutes and 54 seconds
......@@ -6,17 +6,17 @@ The project manager for Schedules is Zac Wood.
## Contributing
Schedules is currently in version 2 and is a somewhat mature web application. However, there are always new features that can be added and old bugs that need fixing, so all help is much appreciated. See the current project [issues](https://git.gmu.edu/srct/schedules/issues) to see what needs to get done, or submit an issue of your own if you have a feature request or found a bug.
Schedules is currently in version 3 and is a somewhat mature web application. However, there are always new features that can be added and old bugs that need fixing, so all help is much appreciated. See the current project [issues](https://git.gmu.edu/srct/schedules/issues) to see what needs to get done, or submit an issue of your own if you have a feature request or found a bug.
If you need any help, please feel free to reach out in the `#schedules` channel in our [Slack group](https://srct.slack.com/). This is where most of the discussion about the project occurs, so if you are interesting in contributing, please join and say hi!
### Learning Ruby on Rails
Rails is a web framework written in Ruby that makes developing web applications fun and productive. However, it does have quite a steep learning curve. Before you contribute to Schedules, it's worth learning the basics of Rails first. This will give you the ability to understand and navigate through the project structure before trying to make your contribution.
Thankfully, there are tons of great free online resources to learn Rails. Here are a few that we recommend to newcomers:
- [Official Getting Started with Rails](https://guides.rubyonrails.org/getting_started.html)
- [Derek Banas' Ruby on Rails Tutorial (30min)](https://www.youtube.com/watch?v=GY7Ps8fqGdc)
- [Rails Tutorial (free online ebook)](https://www.railstutorial.org/book)
- [Official Getting Started with Rails](https://guides.rubyonrails.org/getting_started.html)
### Modifying and Deploying Code
......@@ -26,8 +26,31 @@ Schedules.
## Setup instructions
### Install Ruby and Rails
To develop for Schedules, it is required that you have an up-to-date versions of Ruby and Rails installed. Soon, development will switch to using Docker, but for now, use [this installation guide](http://installrails.com) to get started.
### Install Ruby
#### MacOS
First, install Homebrew if you haven't already by running the following command in your terminal:
```sh
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
```
Next, install Ruby:
```sh
$ brew install ruby
```
#### Linux
See the offical [Ruby docs](https://www.ruby-lang.org/en/documentation/installation/#package-management-systems) for distro-specific install info.
#### Windows
Download the lastest Ruby+DevKit installer from https://rubyinstaller.org/downloads/.
Run the installer and follow the instructions.
### Clone the schedules workspace
We're first going to clone down a copy of the schedules codebase from [git.gmu.edu](http://git.gmu.edu/srct/schedules),
......@@ -48,16 +71,22 @@ Run `cd schedules/` to enter the cloned directory.
Execute `cd schedules/` to enter the Project directory.
### Install dependencies
To install the project dependencies, run the `bundle install` command.
To install the project dependencies, first install `bundler`, the tool used to manage Ruby dependencies:
```sh
$ gem install bundler
```
And then run `bundle install`.
### Database
To populate your local database, run `rails db:migrate` and `rails db:seed`. This sets up your local database and loads it with data from Patriot Web.
**NOTE:** Sometimes Patriot Web doesn't appriciate being parsed. If you're having problems,
please let us know in [Slack](https://srct.slack.com/)!
## Development servers
While developing for schedules, it is useful to have development servers running.
While developing for schedules, it is useful to have development servers running
so you can see updates to your code in real time.
To start the Project, run the `rails server` command in the `/schedules` directory. The website should now be accessible from `localhost:3000`
To start the project, run the `rails server` command in the `/schedules` directory. The website should now be accessible from `localhost:3000`
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment