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 |