Giter Club home page Giter Club logo

clever.nemt.link's Introduction

clever.nemt.link

Version 2 of clever reminder

Endpoints

GET: api/locations Get all locations

[
    {
        "external_id": "0005b2ef-5dbf-ea11-a812-000d3ad97943",
        "company_id": 1,
        "name": "P-plads Teglgårdssøen - Hillerød",
        "origin": "clever",
        "is_roaming_allowed": 1,
        "is_public_visible": "Always",
        "coordinates": "55.923953,12.311272",
        "created_at": "2023-04-03T15:37:50.000000Z",
        "updated_at": "2023-04-04T09:14:16.000000Z"
    },
    {...},
    {...},
]

GET: api/locations/{location:external_id} Get a specific location

{
    "external_id": "0005b2ef-5dbf-ea11-a812-000d3ad97943",
    "company_id": 1,
    "name": "P-plads Teglgårdssøen - Hillerød",
    "origin": "clever",
    "is_roaming_allowed": 1,
    "is_public_visible": "Always",
    "coordinates": "55.923953,12.311272",
    "created_at": "2023-04-03T15:37:50.000000Z",
    "updated_at": "2023-04-04T09:14:16.000000Z",
    "chargers": [
        {
        "evse_id": "DK*CLE*E11090*1-1",
        "location_external_id": "0005b2ef-5dbf-ea11-a812-000d3ad97943",
        "evse_connector_id": "DK*CLE*E11090*1-1",
        "status": "Available",
        "balance": null,
        "connector_id": "1",
        "max_current_amp": 32,
        "max_power_kw": 22.08,
        "plug_type": "Type2",
        "power_type": null,
        "speed": "Standard",
        "created_at": "2023-04-04T09:14:17.000000Z",
        "updated_at": "2023-04-04T09:14:17.000000Z"
        },
        {
        "evse_id": "DK*CLE*E11090*2-2",
        "location_external_id": "0005b2ef-5dbf-ea11-a812-000d3ad97943",
        "evse_connector_id": "DK*CLE*E11090*2-2",
        "status": "Available",
        "balance": null,
        "connector_id": "2",
        "max_current_amp": 32,
        "max_power_kw": 22.08,
        "plug_type": "Type2",
        "power_type": null,
        "speed": "Standard",
        "created_at": "2023-04-04T09:14:17.000000Z",
        "updated_at": "2023-04-04T09:14:17.000000Z"
        },
        {
        "evse_id": "DK*CLE*E11296*1-1",
        "location_external_id": "0005b2ef-5dbf-ea11-a812-000d3ad97943",
        "evse_connector_id": "DK*CLE*E11296*1-1",
        "status": "Available",
        "balance": null,
        "connector_id": "1",
        "max_current_amp": 16,
        "max_power_kw": 11.04,
        "plug_type": "Type2",
        "power_type": null,
        "speed": "Standard",
        "created_at": "2023-04-04T09:14:17.000000Z",
        "updated_at": "2023-04-04T09:14:17.000000Z"
        },
        {
        "evse_id": "DK*CLE*E11296*2-2",
        "location_external_id": "0005b2ef-5dbf-ea11-a812-000d3ad97943",
        "evse_connector_id": "DK*CLE*E11296*2-2",
        "status": "Available",
        "balance": null,
        "connector_id": "2",
        "max_current_amp": 16,
        "max_power_kw": 11.04,
        "plug_type": "Type2",
        "power_type": null,
        "speed": "Standard",
        "created_at": "2023-04-04T09:14:17.000000Z",
        "updated_at": "2023-04-04T09:14:17.000000Z"
        }
    ]
}

Models

User:
    attributes:
        id: int
        username: string
        email: string
        password: string
        telegram_chat_id: string
    relationships:
        subscriptions: hasMany

Company:
    attributes:
        id: int
        name: varchar
    relationships:
        locations: hasMany
        #chargers: hasManyThroguh Location

Location:
    attributes:
        id: int
        external_id: string
        # TODO: address_id: int [address, city, countryCode, postalCode]
        name: string
        origin: string
        coordinates:
        company_id: [clever, eon]
        is_roaming_allowed: bool
        is_public_visiable: bool
    relationships:
        chargers: hasMany
        subscribers: belongsToMany(User)
        #address: hasOne
        #images: hasMany
        #operator: belongsTo
        #openingTimes: hasMany

Charger:
    attributes:
        id: int
        location_id: fk
        evse_id: string
        status: string
        balance: string
        connector_id: string
        max_current_amp: int
        plug_type: string
        power_type: string
        speed: string
    relationships:
        location: belongsTo
    scopes:
        available: status=Available && connector_id != null
        plugType($type): plug_type=$type

LocationUser (subscribtions to a location):
    attributes:
        location_id: fk
        user_id: fk
    relationships:
        user: belongsTo
        location: belongsTo

clever.nemt.link's People

Contributors

huesimon avatar

Stargazers

 avatar

Watchers

 avatar

clever.nemt.link's Issues

Better colors for chargers overview

Image

De nuværende farver var for at indikere "hastigheden".

Det var for at gøre det synligt hvilken connector type det var, så man fx: på Randers Storcenter nemmere kunne se om det var type2, eller ccs.

Men nu hvor man kan lave filter på hastighed, kan man jo selv bestemme hvilke typer man vil se.

Tilføj "service information" og "direcitons" til lokationer.

"serviceInformations" : [ {
        "description" : {
          "dk" : "Udtag er ude af drift. Vi er på sagen!"
        },
        "forceState" : "OutOfOrder",
        "owner" : {
          "evseIds" : [ "DK*CLE*E112115*1" ],
          "locationId" : "692c3c99-aba3-ec11-983f-000d3a65bbdd",
          "locationName" : "Ved Gefionpladsen"
        },
        "periodBegin" : "2024-08-20T08:58:00+00:00",
        "revision" : 1,
        "serviceInformationId" : "2d91013e-e557-45bf-82c5-93bc9c7b5e28",
        "severity" : "Information",
        "state" : "Active",
        "timestamp" : "2024-08-20T11:11:00.1496227+00:00"
      }, {
        "description" : {
          "dk" : "Udtag er ude af drift. Vi er på sagen!"
        },
        "forceState" : "OutOfOrder",
        "owner" : {
          "evseIds" : [ "DK*CLE*E112148*1" ],
          "locationId" : "692c3c99-aba3-ec11-983f-000d3a65bbdd",
          "locationName" : "Ved Gefionpladsen"
        },
        "periodBegin" : "2024-08-20T09:04:00+00:00",
        "revision" : 1,
        "serviceInformationId" : "46cf2c56-fa78-429d-b7fd-c02557c86111",
        "severity" : "Information",
        "state" : "Active",
        "timestamp" : "2024-08-20T11:12:17.6990233+00:00"
      } ],
      "state" : "Active",
      "timestamp" : "2024-08-22T02:00:14.3850899+00:00"
    },
    ```
    
    
    Hvis man har et ladepunkt som favorit og der kommer en `serviceInformation` send brugeren en mail med information. 

View chart skal tage højde for hvilken speed / connector type man har valgt.

ønske 4:
når man laver et filter på lynladere
og tager f.eks. kolding storcenter

image

så er den der godt
så trykker man på chargers
og view chart

image

og så er der 40 ledige ladere ud af de 6 lynladere der er.
Den der graf kunne godt være meget bedre
til at give et overblik over hvor sandsynligt det er, at der er en ledig lader når man kommer forbi om 30 minutter
Jeg tænker at den vil være meget bedre hvis man lavede en graf per ladetype (med hver sin farve) som bare viste hvor mange ledige ladere der var på et givet tidspunkt.
hvorfor de ikke er ledige er jo pisse ligegyldigt
alternativt så skulle man lave grafen med det filter man allerede har, så kan man jo selv vælge hvad man vil se (ligesom mig der kun vil se lynladere)
og så kunne den vise en "stablet graf" med de samme 3 farvere... Dvs rød i bunden for dem der ikke virker, blå for de optagede og grøn i toppen.... Så vil den jo "altid" være samme højde.

Bedre søgning

ønske 2:
bedre søgning, hvis man f.eks. søger på bilka kolding så ville det være fedt hvis bilka kolding kom øverst...

ved godt at den søger på både bilka og kolding, men kunne den ikke vise dem der matcher begge kriterier først.

Jeg havde prøvet at udvide søgefunktionen, men den virker ikke 100%.

Fx: Hvis jeg søger storcenter city: næstved forventer jeg at finde alle lokationer som har city === næstved og indeholder storcenter i navnet.

Vis hele lokationens navn?

ønske 3:
Har jeg også skrevet før, men kunne man ikke gøre noget ved den måde teksten bliver vist på således at man kan se hele stedets navn i teslaen. Det er fordi skærmen er mindre og ikonerne til højre for teksten fylder for meget.

det styrer du, du kan jo også bare skrive det ind selv så og linke til det fra clever.nemt.link interfacet, så kan folk jo se hvad der er på vej. Der er nok ikke ret mange der vil komme med input alligevel.

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.