git clone https://github.com/umdio/umdio.git
(or download as a zip, we don't mind!)
- Install docker
- Install docker-compose
- Run
docker-compose up
- You might need to run docker-related commands with
sudo
if you're a linux user
- You might need to run docker-related commands with
- 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
.
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.)
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.
Knowledge is power.