The Northwest Project 2017
Purpose
Front-End Technologies
The front-end of this web-based application uses Bootstrap and CoffeeScript.
- Bootstrap 3.3
- Coffee Script 2.4
- Coffee Rails 4.2
Back-End Technologies
Pages are server-side rendered using a Ruby on Rails backend with a PostgreSQL database.
- Ruby 2.5
- Rails 5.2
- Sidekiq 5.2 (Ruby Background Processing)
- Redis 4.0 (Ruby Caching)
- PostgreSQL 10.3
Build Instructions
- You can download this entire project and run locally in four Docker containers (website, sidekiq, redis, postgres) by following these steps:
- Install Docker
- Fork the Project Source Code to your personal GitHub account
- Clone your personal GitHub fork to your local computer
- Follow Instructions in Project README file to launch local containers and populate database with sample data.
- Browse to website (http://localhost:3000/)
Contribution Instructions
Follow these steps if you are interested in contributing!
- Make sure you can build the project locally. Refer to the Build Instructions listed above.
- Join channel #northwestproject in Hack 4 Good Slack and introduce yourself and let us know you are interested in helping out!
- Review the Open Issues on GitHub and comment on an issue you are interested in helping with.
We may be able to publish new issues that are relevant to your skill level and interest in the project if you share those details when you introduce yourself in Slack.
Making Code Changes in Git
- Fork the GitHub Repo to your personal GitHub account
- Clone your personal fork of the repo to your local computer
- Start a new Git Branch for the issue you are interested in working on (e.g. branch named “issue-3” if you are working on Issue #3).
git checkout -b issue-3
- Make code changes relevant to the GitHub issue you are working on. Avoid making unrelated changes, such as reformatting a file.
- View Git Status to determine which files have changed.
git status
- View Git Diff of each file that has changed and make sure you are happy with your changes before you submit them.
git diff db/schema.rb
git diff db/seeds.rb - Run Git Add to stage each file that contains changes you would like to submit to the project maintainer.
git add db/schema.rb
git add db/seeds.rb - Run Git Commit to save all of your staged files. Your commit message should include a brief (5-10 word) description of the change.
git commit -m “Initial work related to Issue 3 (Database Seeding)”
- Run Git Push to upload your changes to GitHub
git push
- Browse to your personal fork of the project on GitHub (e.g. https://github.com/YOUR-USERNAME/nwp/)
Summary: You made code changes related to an open issue, reviewed and saved your changes locally, and you uploaded your changes back to your personal copy of the project on GitHub. Now you are ready to share those changes with the project maintainers!
Submitting a Pull Request in GitHub
By submitting a “Pull Request” on GitHub, you are requesting that the project maintainers “Pull” your code changes into the project.
- Browse to your personal fork of the project on GitHub (e.g. https://github.com/YOUR-USERNAME/nwp/)
- Change from the “master” branch to your issue branch (e.g. “issue-3”)
- Click the green “Pull Request” button
- Type a brief title and description of your Pull Request. Be sure your description includes a link back to the original issue you are working on (e.g. https://github.com/shannonmcmurtrey/nwp/issues/3) so that GitHub shows your Pull Request in the Issue Discussion.
- If you need to share more detail or a status update, post a comment in the Issue Discussion (e.g. https://github.com/shannonmcmurtrey/nwp/issues/3)
- Click the “Create Pull Request” button
Congratulations! You’ve submitted your changes to the project maintainers! If the maintainers cannot accept your changes as-is, they will reply to your pull request with feedback and/or change requests.
Dr. Shannon McMurtrey
Shannon is collaborating with Hack Night volunteers and Drury University students on this project.
Annual Hackathon
Quarterly Hack Nights
Contribute to a community project with minimal time commitment, even if you are new to Hack Night.