Coder Social home page Coder Social logo

amattu2 / state-inspection-lookup Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 78 KB

A PHP library for finding U.S. state automotive inspection reports by a VIN number using various proprietary DMV endpoints.

License: GNU Affero General Public License v3.0

PHP 100.00%
dmv emissions php vehicles

state-inspection-lookup's Introduction

Introduction

This is a basic library/wrapper for digital vehicle state safety/emissions inspection record lookups. If you need to check the last date(s) a vehicle was state inspected, and you know the state, this library is for you. A few states also support returning information on the last emissions/smog test. Originally designed for integration within a automotive service management SaaS application.

States Supported

State Supported Operations Notes
Maryland Emissions/Smog, Safety Pending further tests, but it appears that MD only keeps the e-inspection record until it expires (6 months)

Usage

Install

Using composer

composer require amattu2/state-inspection-lookup

Manually

git clone https://github.com/amattu2/state-inspection-lookup

Files

Composer: Import the autoload

require("vendor/autoload.php");

Manually: Import the core files

require("src/Inspections.php");
require("src/StateInspectionBase.php");
require("src/StateInspectionInterface.php");
require("src/Utils.php");

Functions

Inspections::all

Retrieve all inspection types (smog/safety inspections)

$all = amattu2\Inspections::all("VIN", "STATE_ABBR");

VIN is the 17 digit VIN number of the vehicle of interest. STATE_ABBR is the 2 digit ISO-3166-2 state abbreviation.

Returns an array containing Emissions, Safety multi-dimensional arrays.

Inspections::safety

Retrieve all state safety (mechanical) inspection reports.

PHPDoc

/**
 * A endpoint wrapper to return a structured state safety inspection search result
 * All return attributes are nullable, given that each state returns different information.
 *
 * @param string VIN number
 * @return array Array<Array<?bool result, ?string date, ?string url>, ...>
 * @return array Structured return result
 * @throws TypeError
 * @throws UnsupportedStateOperationException
 * @author Alec M. <https://amattu.com>
 * @date 2021-04-07T11:05:27-040
 */

Usage

amattu2\Inspections::safety("VIN", "STATE_ABBR");

VIN is the 17 digit VIN number of the vehicle of interest. STATE_ABBR is the 2 digit ISO-3166-2 state abbreviation.

Returns the following array:

Array
(
  [0] => Array
  (
    [date] => ?string (Format: YYYY-MM-DD)
    [result] => ?bool
    [url] => ?string
  )
)

Inspections::emissions

Pull all emissions records for a vehicle.

PHPDoc

/**
 * A endpoint wrapper to return a structured state emissions test result
 * All return attributes are nullable, given that each state returns different information.
 *
 * @param string VIN number
 * @return array Array<Array<?string type, ?string date, ?bool result, ?string url>, ...>
 * @throws TypeError
 * @throws UnsupportedStateOperationException
 * @author Alec M. <https://amattu.com>
 * @date 2021-04-07T14:51:13-040
 */

Usage

amattu2\Inspections::emissions("VIN", "STATE_ABBR")

VIN is the 17 digit VIN number of the vehicle of interest. STATE_ABBR is the 2 digit ISO-3166-2 state abbreviation.

Returns the following array:

Array
(
  [0] => Array
  (
    [date] => ?string (Format: YYYY-MM-DD)
    [result] => ?bool
    [type] => ?string
    [url] => ?string
  )
)

To-Do Integrations

A list of potential integrations with state systems. These require advanced parsing or endpoint manipulation to grab the information.

Safety Inspections

State Portal
Delaware Link
California Link
Virginia Link
Georgia Link
Texas Link

Emissions Inspections

State Portal

Notes

https://haynes.com/en-us/tips-tutorials/what-know-about-vehicle-inspections-all-50-states

Requirements & Dependencies

PHP 7+

state-inspection-lookup's People

Contributors

amattu2 avatar

Stargazers

 avatar

Watchers

 avatar  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.