Coder Social home page Coder Social logo

FullStack Labs


Cuboids

Challenge

This API manages bags and cuboids. A cuboid is a three-dimensional rectangular box. Each face of a cuboid is a rectangle and adjacent faces meet at right angles. A cube is a cuboid with equal dimensions. A cuboid has a volume that is straightforward to calculate.

A bag is a malleable container with adjustable dimensions, but a fixed volume. The bag can expand to hold any shape or combination of shapes, but the volume of the bag is limited and cannot expand. In our model a bag has many cuboids.

This app has an almost complete test suite.

The tests to update and delete a cuboid are incomplete, your task is to improve them.

The other tests are valid and you must not modify them. In other words, you need to add the missing functionalities so that these tests pass.

Take note of the formatter (mix format) and static analysis tooling (mix credo). These tools should pass upon on completion of the challenge without any changes to project configuration.

Note: The only tests to be modified are tests to update and delete a cuboid. All other tests must remain unchanged.

Steps

To participate in this challenge take the following steps:

  1. Clone this repository.
  2. Create a private repository of the same name in your personal GitHub account. (Do not fork)
  3. Add a second remote to your local copy of this repository and push the master branch.
  4. Checkout a feature branch where you will make your changes.
  5. Setup the app and get it running. Verify that the linter passes and the test suite fails.
  6. Implement tests to update and delete a cuboid.
  7. Add missing functionalities so the other tests pass. Do NOT modify these tests.
  8. Commit as appropriate as you complete the challenge. (More than one commit is expected)
  9. Push your committed changes to your repository on your feature branch.
  10. Create a pull request to the master branch on your repository.
  11. Invite @bencarle and @mfpiccolo to your private repository.
  12. Send the link to your pull request to signify the completion of the challenge.

Technology

This app uses the following key technologies:

Setup

  1. Install dependencies.
mix deps.get
  1. Use docker-compose to start the PostgreSQL database, or look inside config/dev.exs for database configuration requirements.
docker-compose
  1. Create and migrate your database.
mix ecto.setup

Usage

Run the app.

mix phx.server

Run the linter.

mix format

Run the tests.

mix test

Run static analysis.

mix credo

Alexandre Moreira Xavier's Projects

beacon icon beacon

Open-source content management system (CMS) built with Phoenix LiveView. Faster render times to boost SEO performance, even for the most content-heavy pages.

beacon_demo icon beacon_demo

Sample application running Beacon, a open-source content management system (CMS) built with Phoenix LiveView.

broadway icon broadway

Concurrent and multi-stage data ingestion and data processing with Elixir

e4p-code icon e4p-code

Code for the course "Elixir for Programmers"

multiple_domains_hosting icon multiple_domains_hosting

POC for having multiple domain/apps hosting for BeaconCMS and have configuration/options to manage those from the CMS

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.