Add and update classes for client-side data management

This commit is contained in:
André Wahlberg 2020-11-27 14:00:58 +01:00
parent 87f9661993
commit 3bc1ff9a1a
6 changed files with 77 additions and 17 deletions

View File

@ -25,20 +25,37 @@ Tutorials för React går att hitta [här](https://www.youtube.com/playlist?list
* ``public/index.html`` är den enda HTML-fil vi kommer ha i appen, detta eftersom vi bygger en s.k. SPA (Single Page Application). Man ändrar oftast inget i denna fil utöver möjligtvis innehållet i ``<head>``, detta eftersom React hanterar hela vårt UI.
* Ursprungspunkten för React är ``src/index.js``.
<!--
## Upplägg
``` mermaid
```mermaid
classDiagram
class User
User : String deviceId
User : Coordinates location
User : nearbyStops()
class User
User : Subscription[] subs
User : Location loc
class Coordinates
Coordinates : Float lon
Coordinates : Float lat
class Line
class Stop
Stop : String name
Stop : Track[] locations
Stop : Departure[] departures
class Subscription
Subscription : Line line
class Departure
Departure : String lineName
Departure : Stop finalStop
Departure : String time
Departure : String trafficInfo
```
-->
class Track
Track : String name
User <.. Coordinates
User <.. Stop
Stop <.. Departure
Departure <.. Stop
Stop <.. Track
```

View File

@ -0,0 +1,15 @@
/*
Denna klass är en modell för platskoordinater.
lon : Float (Longitud)
lat : Float (Latitud)
*/
class Coordinates {
constructor(lon, lat) {
this.lon = lon;
this.lat = lat;
}
}
export default Coordinates;

View File

@ -2,17 +2,17 @@
Denna klass är en modell för avgångar.
lineName : String (Linjenamnet)
destination : String (Exempelvis "Mot Heden")
finalStop : Stop (Ändhållplats)
time : String (Avgångstid)
info : String (Trafikinformation)
trafficInfo : String (Trafikinformation)
*/
class Departure {
constructor(lineName, destination, time, info) {
constructor(lineName, finalStop, time, trafficInfo) {
this.lineName = lineName;
this.destination = destination;
this.finalStop = finalStop;
this.time = time;
this.info = info;
this.trafficInfo = trafficInfo;
}
}

View File

@ -2,7 +2,7 @@
Denna klass är en modell för hållplatser.
name : String (Hållplatsens namn)
locations : String[] (Möjliga lägen)
locations : Track[] (Möjliga lägen)
departures : Departure[] (Avgångar från hållplatsen)
*/

13
src/classes/Track.js Normal file
View File

@ -0,0 +1,13 @@
/*
Denna klass är en modell för hållplatslägen, ex. "Läge A" eller "Spår 3".
name : String (Lägets namn)
*/
class Track {
constructor(name) {
this.name = name;
}
}
export default Track;

15
src/classes/User.js Normal file
View File

@ -0,0 +1,15 @@
/*
Denna klass är en modell för användare.
deviceId : String (Enhetens ID)
location : Coordinates (Användarens koordinater)
*/
class User {
constructor(deviceId, location) {
this.deviceId = deviceId;
this.location = location;
}
}
export default User;