/carplates

UA car plates recognizer App

Primary LanguageTypeScriptMIT LicenseMIT

Build Status Beerpay Bugs Code Smells Lines of Code Quality Gate Status Reliability Rating Security Rating Vulnerabilities Codeac Codacy Badge FOSSA Status

UA car plates recognizer

It is offline-first, mobile-first, static, single page web application, that is hosted on github pages with custom domain: http://carsua.app

This is a project that allows user to search a ukrainian car plates using open data. It's stack of the next tools, libraries, services etc.:

The extra services are using here:

The extra Linters Analysis are used:

Roadmap (see projects):

The project is open for everyone, so don't hesitate to create issues and pull request.

It is pretend to use the rules of 12 factors:

  1. Codebase: Github
  2. Dependencies: npm
  3. Config: Dotenv
  4. Backing services: Azure Table Storage, Disqus, RIA, NHTSA, ANPR, PlatesMania
  5. Build, release, run: Azure DevOps
  6. Processes: Azure Table Storage, Disqus, RIA, NHTSA, ANPR, PlatesMania
  7. Port binding: webpack
  8. Concurrency: Azure Table Storage, Disqus, RIA, NHTSA, ANPR, PlatesMania
  9. Disposability: Azure DevOps, webpack
  10. Dev/prod parity: Azure DevOps, webpack
  11. Logs: Application Insights
  12. Admin processes: Azure DevOps, Github

Functional Testing Result

According to DTAP/SDLC (Development Testing Acceptance Production/Software Development Life Cycle) here are the part of Testing/System testing/QA testing result:

Setup

You'll need to install a few things before you have a working copy of the project.

1. Clone this repo:

Navigate into your workspace directory.

Run:

$ git clone https://github.com/Krak86/carplates.git

2. Install node.js:

https://nodejs.org

3. Install dependencies:

Navigate to the cloned repo's directory.

Run:

$ npm i

Afterwards you need to execute extra steps:

  • get you own keys (check .env_example file) (use .env to hide it from a project)
  • create your own azure table storage tables or use local emulator (you need 2 tables: for cars and for favorites)
  • create 2 azure functions, add code there (check azure folder)
  • manually download CSV files, parse it and upload to azure table using azure storage explorer or API (check powershell folder, azure folder and columns.csv as a template for columns)
  • adjust policy html file (check policy folder), manually generate PDF (use Chrome for convert html to pdf)
  • adjust CNAME file in case if you want to use custom domain name

Development

Run the local webpack-dev-server with livereload and autocompile on http://localhost:3000/

$ npm run dev

Deployment

Build the current application

$ npm run prod

TEST

Build the current application

$ npm run test

DTAP: Software Development Life Cycle (SDLC)

##WIKI

Support on Beerpay

Hey dude! Help me out for a couple of 🍻!

Beerpay Beerpay