Giter Club home page Giter Club logo

test_api's Introduction

Vessels Reports API

Create a RESTful API with Laravel 5.5 that serves vessels reports based on the provided csv files. Use the reports.csv and vessels.csv files as your data source and import them into a database schema of your choice.

Columns supplied are the following:

vessels.csv

  • name: the vessel name
  • imo: unique vessel identification number
  • email: unique vessel email address

reports.csv

  • imo: vessel's imo.
  • created_on: the received datetime of the report
  • conditionType: vessel's condition (steaming, anchor)
  • meHours: vessel's main engine working hours
  • meCons (tn): vessel's main engine fuel consumption
  • auxHours: vessel's auxiliary engine working hours
  • auxCons (tn): vessel's auxiliary engine fuel consumption
  • observed distance (nautical miles): the observed distance of the vessel

The API must support the following:

  • filterable by: imo (one or more), condition, datetime frame as well as fuel_consumption (greater,lower either for meCons or auxCons). The output must contain the reports data along with the vessel name and email from vessels.csv file.
  • Create a rate limiter to limit requests per user to 5/hour. Use the request ip address to define the user.
  • Create a log for the incoming requests (e.g database table, plain text etc.)
  • Return the output based on an input parameter that defines the format (JSON, CSV)
  • Make the necessary validation for the incoming request values.

Please, fork the repository and create a pull request that contains your implementation. Use your name as the branch name.

test_api's People

Contributors

dynamarine avatar thanosalexandris avatar

Watchers

Nikos Manoloudis 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.