GithubHelp home page GithubHelp logo

isabella232 / gradebook Goto Github PK

View Code? Open in Web Editor NEW

This project forked from vigetlabs/gradebook

0.0 0.0 0.0 2 KB

Example application for the Rails Developer position

Home Page: https://www.viget.com/articles/category/code/

gradebook's Introduction

Gradebook

This is the example application for the Rails Developer position at Viget. Building this application is the primary way we will judge your skills and suitability for the position from a technical perspective. This is not an exercise to weed out the non-programmers -- if you're at this stage of the interview process, we know you can program, now show us what you've got.

We anticipate this exercise taking candidates 4 - 6 hours to complete and submit. We recognize that this is a significant investment of your time and we appreciate that investment. We will invest the same amount of care in reviewing and providing feedback on your submission.

To get started, just clone this repository and continue work on the master branch.

Exercise

We'd like you to build an application that allows for the recording and reporting of courses offered by teachers and taken by students. It should satisfy these stories:

  • A Teacher can manage his course roster
  • A Teacher can view the enrolled students and their grades for a given course
  • A Student can see the courses he is registered for (with grades)
  • A Student can see his GPA for a given semester
  • An Administrator can view enrollment counts across all courses for a semester (performance is a concern)
  • An Administrator can view an average grade for a given course (performance is a concern)

Evaluation

We expect you to demonstrate proficiency with:

  • Database design and normalization
  • Object-Oriented design and programming
  • Ruby and Rails consistent with your experience
  • SQL beyond simple SELECT / INSERT / UPDATE queries
  • Test-Driven Development practices. This will be evaluated from your git history

When we evaluate your submission, we will be reviewing it in the context of your professional experience. We don't expect a novice to be writing more advanced code, and we wouldn't expect an advanced programmer to be writing novice code -- keep that in mind as you do the exercise.

Submission

Once you've completed the exercise:

  1. Make sure you can run the app from scratch (e.g. bundle && rake db:migrate && rails server)
  2. Run all tests to ensure that they are still passing
  3. Document any special considerations for running / using the application

Once you're ready to send us your working application:

  1. Since you cloned this repository, you already have a git repo initialized

  2. Create a git bundle of your local repo from the master branch:

    $ git bundle create yourname-gradebook.bundle master

    This will create a file that contains all of your git history in the master branch. To ensure it works, feel free to test it in another folder by running:

    $ git clone -b master ./yourname-gradebook.bundle ../testing-bundle-file
  3. Email your submission to [email protected]

If you have any questions during this exercise, please feel free to email [email protected] with any questions.

gradebook's People

Contributors

dbernheisel avatar reagent avatar yaychris avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.