Skip to content

ParkHero/ParkHero-web

Repository files navigation

ParkHero-web

Example for local_settings.py

DEBUG = True
SECRET_KEY = 'SEKRET!!!!!!!'
SQLALCHEMY_DATABASE_URI = 'postgresql://user:password@host/database'

API

General

  • Response code for successfull requests should always be 200
  • If response code is not 200, json response contains a field 'error' with the error message

POST /users/register

#### Request:

{
    "email": "sam@ple.email",
    "password": "samplepwd",
    "name": "Sample Name",
    "creditcard": "1234",
}

Response:

{
    "user": {
        "id": 124,
        "token": "uuid-aasdf",
        "email": "sam@ple.email",
        "name": "Sample Name"
    }
}

OR ON ERROR

{
    "error": "Error message"
}

POST /users/login

#### Request:

{
    "email": "sam@ple.email",
    "password": "samplepwd",
}

Response:

{
    "user": {
        "id": "uuid-...",
        "token": "uuid-aasdf",
        "email": "sam@ple.email",
        "name": "Sample Name"
    }
}

OR ON ERROR

{
    "error": "Error message"
}

### GET /users/checkins

#### Request: Parameters sent in query string

{
    "token": "uuid-...",
}

#### Response:

{
    "user": {
        "id": "uuid-...",
        "token": "uuid-aasdf",
        "email": "sam@ple.email",
        "name": "Sample Name"
    },
    "checkins": [
        {
            "id": 1234,
            "checkin": "TBD",
            "checkout": "TBD",
            "duration": "TBD",
            "cost": "TBD",
            "user": "TBD",
            "carpark": "TBD",
        },
    ]
}

GET /carparks

#### Request: Parameters sent in query string

{
    "token": "uuid-...",
    "longitude": 1.24567,
    "latitude": 7.654321
}

Response:

{
    "carparks": [
        {
            "id": "uuid-...",
            "name": "foo",
            "type": 1,
            "image": "http"://test/",
            "longitude": 1.234567,
            "latitude": 7.654321,
            "distance": 1234,
            "capacity": 100,
            "free": 12,
            'free_last_update': 2015-03-08T00:11:02.874283, 
            "cost": 1.23,
            "todo": true
        }
    ]
}

OR ON ERROR

{
    "error": "Error message"
}

POST /carparks/{carpark_UUID}/checkin

#### Request:

{
    "token": "uuid-...",
}

Response:

{
    "carpark": {
        "id": "uuid-...",
        "name": "foo",
        "type": 1,
        "image": "http"://test/",
        "longitude": 1.234567,
        "latitude": 7.654321,
        "distance": 1234,
        "capacity": 100,
        "free": 12,
        'free_last_update': 2015-03-08T00:11:02.874283, 
        "cost": 1.23,
        "todo": true
    },
    "spot": {
        "todo": true
    }
}

OR ON ERROR

{
    "error": "Error message"
}

POST /carparks/{carpark_UUID}/checkout

#### Request:

{
    "token": "uuid-...",
}

Response:

{
    "carpark": {
        "id": "uuid-...",
        "name": "foo",
        "type": 1,
        "image": "http"://test/",
        "longitude": 1.234567,
        "latitude": 7.654321,
        "distance": 1234,
        "capacity": 100,
        "free": 12,
        'free_last_update': 2015-03-08T00:11:02.874283 (in ISO 8601 format), 
        "cost": 1.23,
        "todo": true
    }
    "duration": 65,
    "cost": 123
}

OR ON ERROR

{
    "error": "Error message"
}

GET /refresh_spots

Update free spots in database. Should be called by crontab

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published