Giter Site home page Giter Site logo

holiday_plans_saundra's Introduction

Holiday Plans Project

Overview

It's November, and everyone is planning their holiday vacation. But management is struggling! They need a solution to approve vacation requests while also ensuring that there are still enough employees in the office to achieve end-of-year goals.

Your task is to build one HTTP API that allows employees to make vacation requests, and another that provides managers with an overview of all vacation requests and allows them to decline or approve requests.

README Content

Database Schema

Screen Shot 2021-05-14 at 9 02 19 AM

API Contract

Screen Shot 2021-05-14 at 2 04 49 PM

Testing Tools Utilized

  • RSpec
  • Capybara
  • SimleCov

Notes

I hoped to get to more end points and better testing all around. I got stuck initially with my basic model RSpec tests not running and getting long-winded errors that sent me down some rabbit holes for about an hour and a half.

Tasks

  • Implement assignment using:
    • Language: Ruby
    • Framework: Ruby On Rails
  • There should be API routes that allow workers to:
    • See their requests
      • Filter by status (approved, pending, rejected)
    • See their number of remaining vacation days
    • Make a new request if they have not exhausted their total limit (30 per year)
  • There should be API routes that allow managers to:
    • See an overview of all requests
      • Filter by pending and approved
    • See an overview for each individual employee
    • See an overview of overlapping requests
    • Process an individual request and either approve or reject it
  • Write tests for your business logic

Each request should, at minimum, have the following signature:

{
  "id": ENTITY_ID,
  "author": WORKER_ID,
  "status": STATUS_OPTION, // may be one of: "approved", "rejected", "pending"
  "resolved_by": MANAGER_ID,
  "request_created_at": "2020-08-09T12:57:13.506Z",
  "vacation_start_date" "2020-08-24T00:00:00.000Z",
  "vacation_end_date" "2020-09-04T00:00:00.000Z",
}

You are expected to design any other required models and routes for your API.

Evaluation Criteria

  • Ruby best practices
  • Completeness: Did you include all features?
  • Correctness: Does the solution perform in a logical way?
  • Maintainability: Is the solution written in a clean, maintainable way?
  • Testing: Has the solution been adequately tested?
  • Documentation: Is the API well-documented?

Author

holiday_plans_saundra's People

Contributors

saundracatalina avatar

Watchers

 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.