68b87df4e057b45d4088c799b80a69f8c7816a09
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 |