Skip to content

Latest commit

 

History

History
50 lines (36 loc) · 2.89 KB

CONTRIBUTING.md

File metadata and controls

50 lines (36 loc) · 2.89 KB

Contributing

Get Started

git clone https://github.com/umdio/umdio.git (or download as a zip, we don't mind!)

Setting Up Your Environment With Docker

  1. Install docker
  2. Install docker-compose
  3. Run docker-compose up
    • You might need to run docker-related commands with sudo if you're a linux user
  4. Run the scrapers
    • docker exec -it umdio_umdio_1 bundle exec rake scrape

This will take a while, in the meantime, you can read up on our docs here.

Try a few things. Ponder the return of localhost:3000/v0/courses/sections.

Workflow

Edit on your machine in your favorite text editor, and changes will automagically show in your machine's browser, so long as you leave the virtual machine shell open.

Write tests that fail, write code that makes the tests pass. Run tests with docker exec -it umdio_umdio_1 bundle exec rake on the VM. If you are running scrapers or managing the database, remember that mongo is running on the VM, so run your scrapers there too.

If you want to see how the server will run with nginx, check localhost:4080. From the VM shell, nginx -s reload to update. Cool to check this once in a while, like before a commit. (Tough to view the api from your machine's browser, unless you update your hosts file with a line like api.localhost 127.0.0.1. This shouldn't really matter, but if you want, it's there.)

Documentation

We are only as good as our docs.

We're using Jekyll to make managing documentation easier. Edit files in docs/src, then run jekyll serve from the docs folder. See your work at localhost:4000. Alternatively, you can run make run to grab any dependencies and serve, or make if you plan to serve the output folder with nginx.

The files in src//_posts are written in markdown - you specify some metadata, and then write text as you would. Learn more about markdown syntax to use all its power.

The files in each endpoint's folder each get rendered on the page as sections. The order of the sections is determined by the date in the name of the file - hence the strange names of the files.

Read

Read More

Knowledge is power.