Home.adoc
... ...
@@ -15,3 +15,13 @@ Future of the project is described in the [[roadmap]].
15 15
16 16
Bimba has a https://floss.social/@bimba[Mastodon account], translations are hosted on https://hosted.weblate.org/projects/bimba/[Weblate], contributions are welcome via mail at bimba@git.apiote.xyz (archive is public at https://asgard.apiote.xyz/mimir), and public channel is on Matrix: https://matrix.to/#/%23marblearch:apiote.xyz[#marblearch:apiote.xyz]
17 17
18
+---
19
+
20
+== TOC
21
+
22
+* [[crowdsourcing]]
23
+* [[design]]
24
+* [[fruchtfleisch]]
25
+* [[links]]
26
+* [[names]]
27
+* [[plans]]
config.rb
... ...
@@ -0,0 +1,4 @@
1
+asciidoc = Gollum::Markup.formats[:asciidoc]
2
+asciidoc.delete(:skip_filters)
3
+Gollum::Markup.formats.delete(:asciidoc)
4
+Gollum::Markup.register(:asciidoc, asciidoc[:name], asciidoc)
crowdsourcing.adoc
... ...
@@ -0,0 +1,8 @@
1
+= Crowdsourcing
2
+
3
+* click on departure > i wait for this/follow in background > notification for this departure (Pending Intent to Bottom Sheet) > when it's time, ask to menel-mark as came/late/dropped
4
+* on a stop
5
+** smelly person(s) waiting
6
+** agressive person(s) waiting
7
+** …
8
+* …
design.adoc
... ...
@@ -0,0 +1,13 @@
1
+= Design
2
+
3
+* https://retours.eu/en/47-railway-corporate-style/
4
+* http://www.doublearrow.co.uk/manual.htm
5
+* https://tfl.gov.uk/info-for/suppliers-and-contractors/design-standards
6
+* bimba design
7
+** stationery
8
+** email footer
9
+** line name chips + change options
10
+** symbols explanation
11
+** https://www.logicui.com/colorgenerator
12
+
13
+source: https://git.apiote.xyz/kit.git
fruchtfleisch.adoc
... ...
@@ -0,0 +1,34 @@
1
+= Fruchtfleisch
2
+
3
+Kotlin bare decoder (maybe encoder)
4
+
5
+----
6
+bare kotlin
7
+(https://git.sr.ht/~fsx/cbare/tree/main/item/src/cbare.c)
8
+(https://datatracker.ietf.org/doc/draft-devault-bare/)
9
+----------------------------------
10
+uint ULong (https://en.wikipedia.org/wiki/LEB128#Unsigned_LEB128)
11
+int Long
12
+u8 UByte (little-endian)
13
+u16 UShort
14
+u32 UInt
15
+u64 ULong
16
+i8 Byte (little-endian, two's complement)
17
+i16 Short
18
+i32 Int
19
+i64 Long
20
+f32 Float (IEEE754 binary32)
21
+f64 Double (IEEE754 binary64)
22
+bool=u8(0|1) Boolean
23
+str=u8+[l]utf8byte String
24
+data=u8+[l]byte List<Byte>
25
+[l]data=[l]byte ByteArray
26
+void=empty (null)/Unit
27
+enum=uint ULong -> enum class
28
+optional<type>=bool+type type?
29
+list<type>=uint+[l]type List<type>
30
+[l]list<type>=[l]type Array<type>
31
+map<tA,tB>=uint+[l](tA,tB) Map<tA, tB>
32
+union=uint+type type
33
+struct=[]field class
34
+----
links.adoc
... ...
@@ -0,0 +1,64 @@
1
+= Links
2
+
3
+Set of bookmarks, ideas
4
+
5
+== General
6
+
7
+* https://ao.owo.si/questions/29901044/drag-and-drop-items-in-recyclerview-with-gridlayoutmanager?sort_by=votes#30644208
8
+* https://goreportcard.com/report/apiote.xyz/p/szczanieckiej
9
+* https://spec.openapis.org/oas/v3.1.0
10
+* https://datatracker.ietf.org/doc/draft-devault-bare/
11
+* https://egov.ice.gov/sevishelp/schooluser/transliteration_guide.htm
12
+* https://en.m.wikipedia.org/wiki/List_of_metro_systems
13
+* https://github.com/MobilityData/gbfs/blob/master/systems.csv Bikes
14
+* https://www.adsbdb.com/
15
+* https://api.developer.iata.org/lufthansa-lufthansa-default/api/customer-flight-info/
16
+* https://en.osm.town/@openstreetmap/112665585384142721
17
+* requestID: UUIDv7: https://antonz.org/uuidv7/#kotlin (Unlicense: https://github.com/nalgeon/uuidv7/blob/main/LICENSE)
18
+* https://mobilityweek.eu/home/
19
+* http://kiedyprzyjedzie.pl
20
+* https://www.gov.uk/guidance/traffic-sign-images
21
+* https://pictogrammers.com/library/mdi/
22
+* https://jarosz.dev/article/writing-secure-go-code/
23
+* https://blog.transitapp.com/go-underground/
24
+* https://codelabs.developers.google.com/codelabs/material-motion-android#7; https://github.com/material-components/material-components-android-examples/blob/develop/Reply/app/src/main/java/com/materialstudies/reply/ui/compose/ComposeFragment.kt#L141-L195 — expandable chip
25
+* https://github.com/heremaps/flexible-polyline/tree/master/golang/flexpolyline
26
+
27
+== infra
28
+
29
+* polls on matrix https://github.com/nordeck/matrix-poll
30
+* ACLs in rooms (https://github.com/the-draupnir-project/Draupnir?)
31
+* help-desk on matrix https://gitlab.com/etke.cc/honoroit
32
+* rate limit in go https://github.com/didip/tollbooth
33
+
34
+== further feeds
35
+
36
+* https://www.wroclaw.pl/open-data/dataset/rozkladjazdytransportupublicznegoplik_data + VP:https://www.wroclaw.pl/open-data/dataset/lokalizacjapojazdowkomunikacjimiejskiejnatrasie_data
37
+* https://transport.rest/
38
+* https://www.transit.land/operators
39
+* https://transitous.org, https://github.com/public-transport/transitous/tree/main/feeds
40
+* https://eu.data.public-transport.earth/
41
+* https://gtfs.pro
42
+* https://transport.ec.europa.eu/transport-themes/intelligent-transport-systems/road/action-plan-and-directive/national-access-points_en
43
+* https://dane.gov.pl/pl/dataset/1739
44
+* Mosina qr(https://t2a.pl/CUoSfOEZ?uid=000020B0&qr=1)
45
+* Overground, Elizabeth Line https://busmaps.com/en/uk/Datafeeds/great-britain
46
+
47
+
48
+== realtime
49
+
50
+* go: https://github.com/yuin/gopher-lua
51
+* android: https://github.com/luaj/luaj + implement http and json
52
+
53
+== iOS
54
+
55
+* https://altstore.io/ should work even better after DMA
56
+* https://www.darlinghq.org/ for xcode on Linux
57
+* https://mrmacintosh.com/macos-sonoma-full-installer-database-download-directly-from-apple/ for xcode on VM
58
+
59
+== auth
60
+
61
+* https://www.ory.sh/docs/kratos/concepts/credentials/username-email-password
62
+* ory in flask https://hackernoon.com/how-to-secure-your-flask-application-with-ory-kratos-and-ory-keto
63
+* ory tutorial https://www.ory.sh/run-oauth2-server-open-source-api-security/
64
+* in android: https://github.com/openid/AppAuth-Android (+tutorial https://curity.io/resources/learn/kotlin-android-appauth/)
localities.adoc
... ...
@@ -8,12 +8,12 @@
8 8
* [[PL: Metropolis (GZM) ZTM|localities/gzm_ztm]]
9 9
* [[PL: Poznań ZTM|localities/poznan_ztm]]
10 10
* [[US: Rock Hill, SC My Ride|localities/rockhill_myride]]
11
+* [[The Netherlands|localities/nl_ovapi]]
12
+* [[Transitous|localities/transitous]]
11 13
12 14
== Being worked on
13 15
14 16
* UK/GB provided by UK Depertment for Transport
15
-* NL provided by OVapi
16
-* [[Transitous|localities/transitous]]
17 17
18 18
== Future
19 19
localities/nl_ovapi.adoc
... ...
@@ -0,0 +1,11 @@
1
+= The Netherlands
2
+
3
+link:geo:52.2,4.5[9F460000+] https://www.vbb.de
4
+
5
+== Features
6
+
7
+* Schedule: GTFS :white_check_mark:
8
+* Real time departures: GTFS-RT :white_check_mark:
9
+* Real time vehicle positions: GTFS-RT :white_check_mark:
10
+* Alerts: GTFS-RT :white_check_mark:
11
+* QR: :negative_squared_cross_mark:
names.adoc
... ...
@@ -0,0 +1,45 @@
1
+= Names
2
+
3
+* reference server: szczenieckiej
4
+** https://git.apiote.xyz/szczanieciej.git
5
+* the protocol: TRAFFIC
6
+** https://git.apiote.xyz/traffic.git
7
+* Android client: Bimba (czwek,xyz.apiote.bimba.czwek)
8
+** https://git.apiote.xyz/Bimba.git
9
+* iOS client: orcharder
10
+* linux (phone) client: ornithologist
11
+* cli client: shuttle
12
+* GTFS converter: turntable
13
+** now part of szczanieckiej
14
+* GBFS converter: derailleur
15
+* design/style: kit
16
+* all of the things: (tan) kulupu Bimba
17
+* account:
18
+** dashboard: way.bimba.app (think Sinatra's My Way)
19
+** login (OIDC): turnslite.bimba.app
20
+** oauth: oauth.bimba.app
21
+* infrastructure: tracks
22
+* authorization module: ampelmännchen
23
+** https://git.apiote.xyz/ampelmaennchen.git
24
+* issue tracking: roadmap
25
+** https://roadmap.apiote.xyz
26
+* website: slam-door
27
+** https://git.apiote.xyz/slam-door.git
28
+* wiki: infokiosk
29
+** https://git.apiote.xyz/infokiosk.git
30
+
31
+== other infra
32
+
33
+* Android bugs: https://bimba.apiote.xyz/acra
34
+* mail archive: https://www.mailpiler.org/
35
+
36
+== Matrix
37
+
38
+* space: !HcqRnb9R7a20e7qz:apiote.xyz
39
+* patrons: Piazza San Lorenzo (Medici Palace, Firenze) !rvCMFVcVkZg7tG5X:apiote.xyz
40
+* public: Marble Arch (London speakers' corner) !x4Sgq9Uqm1ND8UUD:apiote.xyz
41
+* HQ: Balmoral Rd end (royal summer place) !5jxFPt4X2EsZgP8p:apiote.xyz
42
+* : issues
43
+* : polls
44
+
45
+
plans.adoc
... ...
@@ -0,0 +1,30 @@
1
+= Plans
2
+
3
+== how
4
+* patrons, who has control over future
5
+* branded apps with networks cooperation
6
+* access to server without rate limit (importance will be reduced when apps work offline and can talk directly with GTFS-RT/API, but enhanced when HiveMind will come)
7
+* beta access (but it's open source)
8
+* swag/merch
9
+* https://wiki.snowdrift.coop/market-research/other-crowdfunding
10
+
11
+== plans
12
+* back seat — free, just enjoys the ride
13
+* window seat — no rate limit, unobstructed view of the surroundings
14
+* front seat — beta access an support, view of what's coming ahead
15
+* driver seat — patron with control
16
+* pilot seat — contributors
17
+
18
+== TODO
19
+
20
+1. ✓ Create application service and return its yaml
21
+2. ✓ Create space (name from config)
22
+3. ✓ Create rooms and add to space (names from config)
23
+4. Sql schema
24
+5. [tffc] register
25
+6. Generate super-user ticket
26
+7. [tffc] login (OIDC: https://github.com/ory/fosite)
27
+8. [tffc] apply ticket
28
+9. add/remove people in rooms
29
+10. [tffc] invite
30
+11. stripe integration
roadmap.adoc
... ...
@@ -1,5 +1,12 @@
1 1
= Roadmap
2 2
3
+== NOW
4
+* check out https://www.mailpiler.org/
5
+* ui
6
+** blinking radar icon (https://proandroiddev.com/synchronizing-animations-in-recyclerview-1226f7dc749b?gi=f9e4990859dd)
7
+** line graph bigger zoom
8
+** map zoom?
9
+
3 10
== bugs
4 11
* [:microscope: :desktop_computer: :iphone:] looping lines graph presentation
5 12
* [:iphone:] scaling icons with map
... ...
@@ -46,6 +53,18 @@
46 53
* [:desktop_computer:] GTFS-RT extensions (Amsterdam?)
47 54
* [:microscope:] integrate https://transitous.org[Transitous]
48 55
* [:desktop_computer: :iphone:] all departures nearby
56
+* [:desktop_computer:] easter egg where is iss now http://open-notify.org/Open-Notify-API/ISS-Location-Now/
57
+* [:desktop_computer:] where is Santa now: https://firebasestorage.googleapis.com/v0/b/santa-tracker-firebase.appspot.com/o/route%2Fsanta_en.json?alt=media&2018b (destination with last arrival, or North Pole otherwise)
58
+* [:arrow_up_down: :desktop_computer:] add privacy policy and terms (https://github.com/Automattic/legalmattic/blob/master/Privacy-Policy.md)
59
+* [:desktop_computer:] alerts for agency, put in all departures
60
+* [:iphone:] stop updating favourites onStop, start in onResume
61
+* [:iphone:] -> departures (filtered): starts with no more departures instead of loading
62
+* [:repeat:] hash of downloaded zip in lieu etag
63
+* [:repeat:] hash of files and incremental convert
64
+* [transitous] events without destination/headsign (e.g. porte du midi)
65
+* [NL] Utrecht misses some lines?
66
+* consistent style: kit, wiki, roadmap, website, ory
67
+* IaaC: tracks
49 68
50 69
== cleaning
51 70
* [:desktop_computer:] routers (as is line router)
... ...
@@ -59,6 +78,30 @@
59 78
* [:penguin:] Linux phone: ornithologist
60 79
* [:spider_web:] web: ?
61 80
81
+---
82
+
83
+== Downtown
84
+
85
+* +Cache: cache, redict
86
+
87
+== Elizabeth
88
+
89
+* ory (service + Android integration + custom claims + UIs + admin UIs)
90
+* turntable separation
91
+* qr mapping
92
+* ampelmännchen
93
+
94
+== realtime
95
+
96
+* gtfs-rt
97
+** NO_DATA -> delay: *int
98
+** SKIPPED -> skipped: bool
99
+** sheduled, added, duplicated, … -> TripStatus
100
+** StopTimeUpdate -> range as long as stopSeq ≤ stop's sequence and gather propagated values
101
+
102
+== hardening accounts
103
+* write login/signup procedure, mind 3rd party issuers. Who to turn to to verify auth token
104
+* write scenarios of pwning and recovering an account
62 105
63 106
---
64 107