Giter Site home page Giter Site logo

ingenious's Introduction

Recruitment Task πŸ§‘β€πŸ’»πŸ‘©β€πŸ’»

Invoice module with approve and reject system as a part of a bigger enterprise system. Approval module exists and you should use it. It is Backend task, no Frontend is needed.


Please create your own repository and make it public or invite us to check it.

  • Invoice contains:
    • Invoice number
    • Invoice date
    • Due date
    • Company
      • Name
      • Street Address
      • City
      • Zip code
      • Phone
    • Billed company
      • Name
      • Street Address
      • City
      • Zip code
      • Phone
      • Email address
    • Products
      • Name
      • Quantity
      • Unit Price
      • Total
    • Total price
Image just for visualization

TO DO:

Simple Invoice module which is approving or rejecting single invoice using information from existing approval module which tells if the given resource is approvable / rejectable. Only 3 endpoints are required:

  - Show Invoice data, like in the list above
  - Approve Invoice
  - Reject Invoice
  • In this task you must save only invoices so don’t write repositories for every model/ entity.

  • You should be able to approve or reject each invoice just once (if invoice is approved you cannot reject it and vice versa.

  • You can assume that product quantity is integer and only currency is USD.

  • Proper seeder is located in Invoice module and it’s named DatabaseSeeder

  • In .env.example proper connection to database is established.

  • Using proper DDD structure is mandatory (with elements like entity, value object, repository, mapper / proxy, DTO). Unit tests in plus.

  • Docker is in docker catalog and you need only do

    ./start.sh
    

    to make everything work

    docker container is in docker folder. To connect with it just:

    docker compose exec workspace bash
    

ingenious's People

Contributors

maurycybieganski avatar slawomir4 avatar ing-mrode avatar

Watchers

Sebastian Tkaczyk 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.