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
- Host: GitHub
- URL: https://github.com/jmkoni/course_review
- Owner: jmkoni
- License: gpl-3.0
- Created: 2019-05-27T15:15:00.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2024-01-22T10:59:07.000Z (over 2 years ago)
- Last Synced: 2025-02-14T17:43:38.298Z (over 1 year ago)
- Language: Ruby
- Homepage: https://course-review-app.herokuapp.com
- Size: 1.85 MB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 23
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# Course Review
[](https://circleci.com/gh/jmkoni/course_review/tree/master) [](https://codecov.io/gh/jmkoni/course_review)[](https://codeclimate.com/github/jmkoni/course_review/maintainability)
[](https://oss.skylight.io/app/applications/tGkxmMrCXpOV)[](https://oss.skylight.io/app/applications/tGkxmMrCXpOV)[](https://oss.skylight.io/app/applications/tGkxmMrCXpOV)[](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)