docker-compose -d server
, innehåller API:t och bike-programmet.docker-compose -d adminweb
. Endpoint http://localhost:1338
docker-compose -d customermobile
. Endpoint - http://localhost:1338
docker-compose -d customerwebb
. Endpoint - http://localhost:1338
docker-compose -d database
. Man kan starta alla fem containrarna på en gång genom att använda kommandot docker-compose -d up
, eller starta dem individuellt genom att använda deras specifika kommandon som nämnts ovan.
docker-compose -d up
.http://localhost:1337/simulation
. Observera att cyklar och användare skapas vid detta endpoint så det kan ta omkring en minut innan cyklarnas rörelser syns på kartan.http://localhost:1338/map?id=2
.Delsystemen arbetar tillsammans på följande sätt, adminweb, customermobile och customerwebb kommunicerar med servern. Servern kommunicerar med databasen.
Servern som finns i mappen Backend har en mappstruktur som är utformad för att fungera på följande sätt:
http://localhost:1337/api/v01/user
, och kommunicerar vidare till controllers. Metod | Endpoint | Beskrivning | Exempel på POST & PUT |
---|---|---|---|
GET | /api/v01/bike | Hämtar information om alla registrerade cyklar. | - |
GET | /api/v01/bike/{id} | Hämtar information om en cykel med specificerat ID. | - |
POST | /api/v01/bike | Registrerar en ny cykel i systemet. | Json - {"city": "stockholm", "parking": "on-street", "charging_status":"100", "available_status":"ledig", "m_location": "59.338758, 18.052715", "speed": "0"} |
DELETE | /api/v01/bike | Tar bort alla registrerade cyklar. | - |
DELETE | /api/v01/bike/{id} | Tar bort en cykel med specificerat ID. | - |
GET | /api/v01/city/{city} | Hämtar information om alla cyklar och laddstationer i en viss stad. | - |
GET | /api/v01/bikeride/bike/{id} | Hämtar alla cykelturer för en specificerad cykel. | - |
GET | /api/v01/bikeride/user/{id} | Hämtar alla cykelturer för en specificerad användare. | - |
GET | /api/v01/bikeride | Hämtar information om alla registrerade cykelturer. | - |
POST | /api/v01/bikeride | Startar en ny cykeltur i systemet. | Json - {"bikeId":7, "userId":1} |
PUT | /api/v01/bikeRide/stop | Avslutar och registrerar en pågående cykeltur. | Json - {"bike_id": 7,"startTime": "2023-01-03T15:54:32.788Z","startLocation": "59.42755469191417, 18.080686541663738","user_id": 1} |
GET | /api/v01/user/{id} | Hämtar information om en specificerad användare. | - |
GET | /api/v01/user | Hämtar information om alla registrerade användare. | - |
POST | /api/v01/user | Registrerar en ny användare i systemet. | Json - {"username": "username","u_type": "kund","u_password": "123","firstname": "förnamn","lastname": "efternamn","adress": "adress 1a","postcode": "31123","city": "Stockholm","saldo": 1000} |
DELETE | /api/v01/user/ | Tar bort alla registrerade användare. | - |
DELETE | /api/v01/user/{id} | Tar bort vald användare. | - |
GET | /api/v01/payment | Hämtar användarens kontouppgifter. | - |
POST | /api/v01/payment | Betalar allt | - |
POST | /api/v01/payment/add/account | Lägger till ett konto | Json - "account":{"card_number":123132123123, "csv": 132} |
PUT | /api/v01/payment | Insättning av pengar. | Json - { "balance": 6000 } |
PUT | /api/v01/payment/monthly-payment | Automatisk betalning. | Json - { "monthlyPayment": false/true } |
GET | /api/v01/locations/charger | Hämtar alla koordinater för laddnings stationerna. | - |
GET | /api/v01/locations/parkingzones | Hämtar alla koordinater för parkerings stationerna. | - |