Giter VIP home page Giter VIP logo

vvfgeofleet's Introduction

VVFGeoFleet

Sistema per la localizzazione della flotta mezzi VVF

Documentazione API

POST /api/messaggiPosizione

Inserisce un nuovo messaggio di geo-localizzazione in archivio.

Esempio di payload.

{
    "codiceMezzo": "APS.12345",
    "classiMezzo": [ "APS", "benzina" ],
    "localizzazione": {
        "lat": 14.2345,
        "lon": 43.4321
    },
    "istanteAcquisizione": "2017-11-27T10:12:00.1234Z",
    "fonte": {
        "codiceFonte": "AH222",
        "classeFonte": "gpsTracker"
    },
    "infoFonte": {
      
    }
}

Restituisce la location del messaggio inserito, ed il messaggio stesso.

GET /api/messaggiPosizione/{id}

Restituisce il messaggio avente id specificato.

GET /api/posizioneByCodiceMezzo/{codiceMezzo}

Restituisce la posizione per il mezzo avente codiceMezzo specificato.

GET /api/posizioneFlotta

Restituisce la posizione dell'intera flotta. Vengono restituite solo le posizioni dei mezzi aggiornate nelle ultime 24h.

GET /api/posizioneFlotta/perClassi?classiMezzo={classe1}&classiMezzo={classe2}&classiMezzo={classe3}

Restituisce la posizione dell'intera flotta, limitatamente ai mezzi delle classi specificate come parametro d'ingresso. Vengono restituite solo le posizioni dei mezzi aggiornate nelle ultime 24h.

GET /api/prossimita?lat={lat}&lon={lon}&distanzaMaxMt={distMt}&classiMezzo={classe1}&classiMezzo={classe2}

Restituisce i mezzi in prossimità del punto specificato, entro un raggio massimo specificato. E' opzionalmente possibile specificare un array di classi mezzo con cui filtrare i risultati dell'interrogazione. Vengono restituite solo le posizioni dei mezzi aggiornate nelle ultime 24h.

GET /api/inRettangolo?lat1={lat1}&lon1={lon1}&lat2={lat2}&lon2={lon2}&classiMezzo={classe1}&classiMezzo={classe2}

Restituisce i mezzi all'interno del box specificato. E' opzionalmente possibile specificare un array di classi mezzo con cui filtrare i risultati dell'interrogazione. Vengono restituite solo le posizioni dei mezzi aggiornate nelle ultime 24h.

GET /api/MezziSilenti?daSecondi={daSecondi}

Restituisce la posizione dei mezzi ai quali da troppo tempo non è associato alcun messaggio di posizione. Per es. se il parametro daSecondi vale 86400, viene restituita la posizione dei mezzi che non hanno aggiornamenti di posizione da almeno un giorno.

GET /api/MezziSilenti?daSecondi={daSecondi}&classiMezzo={classe1}&classiMezzo={classe2}

Restituisce la posizione dei mezzi ai quali da troppo tempo non è associato alcun messaggio di posizione. La ricerca è limitata alle classi specificate.

Descrizione dell'architettura

L'applicazione è sviluppata in linguaggio C# con Visual Studio 2017 Community Edition. L'architettura è una WebApi, basata su servizi REST, con uno strato di persistenza basato su MongoDB.

Librerie utilizzate

  • MongoDB.Driver: driver C# per l'integrazione con MongoDB;
  • SimpleInjector: libreria per la Dependency Injection (DI);
  • AutoMapper: libreria per il mapping convention based tra le classi di dominio e i DTO;
  • log4net: libreria per il logging applicativo;
  • NUnit v3: libreria per la stesura degli unit tests;
  • Moq: libreria per la generazione di classi mock;
  • Bogus: libreria per la generazione di istanze fake di classi.

Licenza

Il codice sorgente è rilasciato nei termini della licenza AGPL-3.0.

vvfgeofleet's People

Contributors

supix avatar

Watchers

 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.