An open API service indexing awesome lists of open source software.

https://github.com/jmkoni/course_review

PSU SWENG Capstone Project
https://github.com/jmkoni/course_review

Last synced: 8 months ago
JSON representation

PSU SWENG Capstone Project

Awesome Lists containing this project

README

          

# Course Review

[![CircleCI](https://circleci.com/gh/jmkoni/course_review/tree/master.svg?style=svg)](https://circleci.com/gh/jmkoni/course_review/tree/master) [![codecov](https://codecov.io/gh/jmkoni/course_review/branch/master/graph/badge.svg)](https://codecov.io/gh/jmkoni/course_review)[![Maintainability](https://api.codeclimate.com/v1/badges/9934c56b219099882c0f/maintainability)](https://codeclimate.com/github/jmkoni/course_review/maintainability)

[![View performance data on Skylight](https://badges.skylight.io/problem/tGkxmMrCXpOV.svg)](https://oss.skylight.io/app/applications/tGkxmMrCXpOV)[![View performance data on Skylight](https://badges.skylight.io/typical/tGkxmMrCXpOV.svg)](https://oss.skylight.io/app/applications/tGkxmMrCXpOV)[![View performance data on Skylight](https://badges.skylight.io/rpm/tGkxmMrCXpOV.svg)](https://oss.skylight.io/app/applications/tGkxmMrCXpOV)[![View performance data on Skylight](https://badges.skylight.io/status/tGkxmMrCXpOV.svg)](https://oss.skylight.io/app/applications/tGkxmMrCXpOV)

## Purpose
Course Review allows students to review courses at their university. Currently, it requires courses to be manually added by an administrator.

## Currently Deployed Versions

### Production
https://course-review-app.herokuapp.com

### Staging
https://boxing-loonie-42390.herokuapp.com

## Clone the Repository
Wherever you are planning to do local development, you want to fork the repository and then clone your fork then change directories:

```
git clone https://github.com/{{your github user name}}/course_review
cd course_review
```

## Installing Tools Needed For Local Development

### Installing Postgres tools locally

Before installing gems, you'll need to ensure that you have PostgreSQL
installed and its utilities on your `PATH`.

This is the recommended way to install on macOS:

Install Postgres.app:
```
brew install postgres
```
Put this line at the bottom of your `.profile`, `.bashrc`, or `.zhshrc` file:
```
export PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH"
```
If you aren't sure which one, add it to all of them!

### Install Ruby

The recommended way to install ruby is to do it via rvm:
```
\curl -sSL https://get.rvm.io | bash -s stable --ruby=2.6.3
```
### Install Dependencies

You'll also need to install the Rubygems that are necessary.
```
rvm use 2.6.3@course-review --create
gem install bundler
bundle install
```
NOTE: if you installed ruby using something other than RVM, you want to create a gemset some way so that you don't get conflicts later on.

## Setting Up Database and Application

### Preparing Postgres

Start PostgreSQL using (or your preferred method):
```
brew services start postgresql
```
You'll need to create a user `root` with password `root` and give that user
privileges on two databases: `course-review_development` and `course-review_test`.

Add users:
```
createuser course_review --createdb
```
### Setup the Rails app

Next, setup the database automatically using Rails:
```
rails db:setup
```
Once that completes, you're ready to go!

Note: this will only create a single user. If you want the full set of seeds, run this:
```
rails db:seed
```
## Running the Application Locally

To start the server, run:
```
rails s
```
You can leave this server running while you develop. You need only restart the
server when you make changes to anything in the `config` or `db` directories. To view the application, go to `localhost:3000`.

## Developing

This application uses Rspec for tests and Rubocop to enforce style. Prior to pushing up any branch, ensure both are passing by running the following:
```
bundle exec rspec # runs specs, should get all green with a few pending
rubocop -a # should get all green, but if it corrects, it will return a W
# if rubocop corrects, then make sure to commit the updates!
```
Once you are ready, [open up a PR!](https://github.com/jmkoni/course_review/pulls)