Skip to content

mkonstanty/task

Repository files navigation

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!

#️⃣ App description


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/

🔐 Technology stack


Name Version
Ruby 2.2.3
Ruby on Rails 4.2.1
PostgreSQL 9.3

📖 Setup


  1. clone repository,
  2. cd path/to/repo,
  3. cp config/database.yml.sample config/database.yml,
  4. createuser -s workshops,
  5. rake db:create db:schema:load

📖 Read and remember


ℹ️ additional info

  • we know this file is too long to read but it is worth it 😄,
  • write informative commit messages - take a look at short styleguide.

✅ what you should do to qualify for the workshops

  • 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

⚠️ What disqualifies your application


  • 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.

🍰 Additional tasks


These tasks are optional, failure does not disqualify You from participation in workshops.

  • add birthdate column to Student model.

    • column should be optional,
    • handle the create/edit/show actions in views (StudentsController)
    • display that date in ReportsController#subjects in format RRRR-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 paid for 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 :)

ℹ️ Gems, that may become helpful during solving this tasks and also during workshops


Useful gems for improving your workflow:

  • git-up - Stop using "git pull". Be polite.

ℹ️ Bundle of hints and links