Heroku app RoR Workshops
Hi! We think it’s great that you want to start learning Ruby on Rails. Taking part in workshops is also a great opportunity to start working with us and become one of the Netguru folks. Since you have just taken your first step on your adventure with programming in RoR, we challenge you to complete the following task. Ready, steady… Go!
Simple application for managing school subjects, teaching staff and students.
Don't know how sth should work? Check it out http://ror-workshops.herokuapp.com/
Name | Version |
---|---|
Ruby | 2.2.3 |
Ruby on Rails | 4.2.1 |
PostgreSQL | 9.3 |
- clone repository,
cd path/to/repo
,cp config/database.yml.sample config/database.yml
,createuser -s workshops
,rake db:create db:schema:load
- we know this file is too long to read but it is worth it 😄,
- write informative commit messages - take a look at short styleguide.
- do not fork the repository - clone it,
- all tests should pass - run it in your app folder via
RAILS_ENV=test bundle exec rspec
, - connect Travis CI to your repo, add badge and ensure your application has "build | passing status". Check documentation here,
- deploy your application to Heroku - ensure that seeds are available there and your application works correctly,
- prepare seeds with:
- 3 teachers,
- 25 students,
- 5 subjects
- tests are not passing,
- website doesn't work on Heroku (don't forget about seeds),
- repo is not connected with TravisCI,
- your repo was forked from the original one,
- your work is not reflected in commit history - your git history consists of one or two commits.
These tasks are optional, failure does not disqualify You from participation in workshops.
-
add
birthdate
column toStudent
model.- column should be optional,
- handle the create/edit/show actions in views (StudentsController)
- display that date in
ReportsController#subjects
in formatRRRR-MM_DD
-
Add a function that allows storing data about student payments in the database. In the main menu You should add a new section which will direct users to the page with the students list where you can find information about whether they payed their tuition, as well as the date of the payment for each month. Try to use datatables (datatables-rails) so that you can easily search for people in the table using their names and surnames.
Don't forget to write some specs in rspec for Your code :)
Useful gems for improving your workflow:
- git-up - Stop using "git pull". Be polite.
- https://try.github.io - Learn how to use Git by reviewing the basic concepts of Git version control
- http://www.codeschool.com/paths/ruby - free Ruby and Rails courses available at the elementary level,
- you want to be sure your Ruby basis are solid? Check out the Ruby Koans - http://rubykoans.com/,
- http://guides.rubyonrails.org/ - sooner or later this one will come in handyk
- not feeling comfortable with JavaScript / jQuery? CodeSchool can help you with this one too - http://www.codeschool.com/courses/try-jquery,
- http://blog.codeclimate.com/blog/2012/10/17/7-ways-to-decompose-fat-activerecord-models/ - old, but still helpful article about extracting the logic into single classes,
- https://netguru.co/blog/ups-and-downs-of-pull-request-flow-part-1 - why we prefer to work with single-branch flow, part 1,
- https://netguru.co/blog/ups-and-downs-of-pull-request-flow-1 - why we prefer to work with single-branch flow, part 2,
- http://www.creativebloq.com/javascript/javascript-debugging-beginners-3122820 - quick introduction to debugging JavaScript code.