Skip to content

joerivanarkel/WakatimeStats

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wakatime Stats

Contents

Section Description
Structure The structure of the project

Structure

flowchart TD
    classDef presentation stroke:#f0f
    classDef api stroke:#f00
    classDef service stroke:#0f0
    classDef data stroke:#00f


    common["Common
        [Langauge]: C#

        Common models and
        services
        "]
      
    Dashboard["Dashboard
        [Langauge]: TypeScript

        The dashboard to display
        the Wakatime data
        "]:::presentation
    API["API
        [Langauge]: C# / F#

        API to access the 
        Wakatime data
        "]:::api
    synchronizer["Synchronizer
        [Langauge]: C#

        Service to fetch the 
        Wakatime data
        "]:::api
    business["Business
        [Langauge]: F# / C#

        Service to process/fetch
        the Wakatime data
        "]:::service
    stats["Data Science
        [Langauge]: F#

        Service to create
        statistics from the
        Wakatime data
        "]:::service
    datalayer["Data
        [Langauge]: C#

        Service to access
        the Wakatime data
        from the database
        "]:::data


    Dashboard --> API
    synchronizer --> business
    API --> business

    subgraph Data Access
        business --> stats
        stats --> datalayer
        business --> datalayer
        datalayer -->  database[(Database)]:::data
    end
Loading

Endpoints

Heartbeat

HTTP Method Endpoint Description Request Body
GET /api/v1/Heartbeat Get all heartbeats from the database
POST /api/v1/Heartbeat Add a heartbeat to the database
{
    "id": 0,
    "wakatimeId": "string",
    "branch": "string",
    "category": "string",
    "createdAt": "string",
    "cursorpos": 0,
    "dependencies": [
        "string"
    ],
    "entity": "string",
    "isWrite": true,
    "language": "string",
    "lineno": 0,
    "lines": 0,
    "machineNameId": "string",
    "project": "string",
    "projectRootCount": 0,
    "time": 0,
    "type": "string",
    "userAgentId": "string",
    "userId": "string"
}
                
GET /api/v1/Heartbeat/{id} Get a specific heartbeat from the database
PATCH /api/v1/Heartbeat/{id} Update a heartbeat in the database
{
    "id": 0,
    "wakatimeId": "string",
    "branch": "string",
    "category": "string",
    "createdAt": "string",
    "cursorpos": 0,
    "dependencies": [
        "string"
    ],
    "entity": "string",
    "isWrite": true,
    "language": "string",
    "lineno": 0,
    "lines": 0,
    "machineNameId": "string",
    "project": "string",
    "projectRootCount": 0,
    "time": 0,
    "type": "string",
    "userAgentId": "string",
    "userId": "string"
}
                
DELETE /api/v1/Heartbeat/{id} Delete a heartbeat from the database
POST /api/v1/Heartbeat/range Add a range of heartbeats to the database
{
    "id": 0,
    "wakatimeId": "string",
    "branch": "string",
    "category": "string",
    "createdAt": "string",
    "cursorpos": 0,
    "dependencies": [
        "string"
    ],
    "entity": "string",
    "isWrite": true,
    "language": "string",
    "lineno": 0,
    "lines": 0,
    "machineNameId": "string",
    "project": "string",
    "projectRootCount": 0,
    "time": 0,
    "type": "string",
    "userAgentId": "string",
    "userId": "string"
}
                

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published