Anpassa Karrot till Cykelkök


#1

De olika Cykelkök behöver ett bättre verktyg (än Google spreadsheets) för att koordinera upphämtningar av cyklar och volontärspass. Vi kan använda Karrot! Titta på en enkel mockup

Jag frågade utvecklarna och den största utmaningen är att installera och köra en egen instans med backend och frontend samt följa med deras uppdateringar efteråt. Den enda ändring på backenden skulle handla om att ändra texten på mejlutskick. På frontenden är det bara att ändra texterna på filen locale-en.json, några bilder och ikoner.

Jag kan jobba på texterna och försöka också med den grafiska. Jag undrar om Nicco och @tomasz skulle vara intresserade av att hjälpa till, speciellt med att sätta upp en egen Karrot-instans?

Kostnader
Behövs det webbhotell så kan jag betala, men på sikt har Cykelköket ju tillräckligt med pengar för att betala webbhotell och lite arvode till någon som kan underhålla, om folk tycker att det är användbart på riktigt. Möjligen från den jävla stadens budget för Cykelkök som hittills inte varit av nån nytta till någon :stuck_out_tongue:


Möte 3e Maj om Hackonomy lab
#2

Ikonen på karta t ex kan lätt ändras på filen i rad 78 och kanske på andra filer också, eftersom den är från nåt slags bibliotek som heter Awesome Markers


#3

Det svåra är inte att hosta siten på en VPS, det svåra kommer när man vill implementera förändringar som utvecklingsteamet för Karrot gjort, vi behöver en duktig programmerare i teamet såsom tex Sebastian.

Din mockup hade lite långa meningar som kan kortas ner, sen kan man fråga sig om inte engelska borde vara det primära språket, det skulle ju locka mer kodare till plattformen tror jag.


#4

Engelska skulle vara det primära språket tycker jag också, och vi kan få till en svensk översättning också.

Jag håller med, kortare meningar. Mockupen är bara för att få en feeling.

Jag tror att implementering av förändringar kan göras med mycket mindre mellanrum än vad det faktiskt sker på Karrot och mycket mer försiktigt. Duktiga programmerare behövs men vi lockar dem med en proof-of-concept :wink: Och jag hoppas på att ta upp detta projekt på nästa hackatonet.


#5

Det verkar som den där cykelköksfonden är för hållbarhet där cyklar ingår som jag förstår artikeln:


#6

Faktiskt inte, det var ett beslut specifikt om cykelköket, om att skapa ett cykelkök i varje stadsdel, och det är Social Resursförvaltningen som har pengar, en budget som jag tror ligger på 2 miljoner. Och det är en kärngrupp (som består av Nina och Tove från staden, Ian ,Fabienne och Emma) som sitter med någon från Social Resursförvaltning som har varken tid eller koll (vad jag hört) för att komma fram till hur budgeten ska bäst spenderas. De vet att det ska inte spenderas t ex med att betala hyra (ironiskt nog, just nu när Cykelköket mest behöver en lokal).

Men hur som… detta är ett projekt som inte kräver mycket pengar och vi behöver inte vara beroende av dem för att genomföra. Om i framtiden man kan ta del av det för att fortsätta med utveckling av verktyget så är det bara bra.


#7

Repo för projektet:

Kvar att göra:

  • Ändra loggan och backgrundsbilden
  • Ändra “about” delen i footer

Nicco, jag kollade databasen här och det är postgres. Om minne så är det följande:

total / used / free / shared / buff/cache / available
Mem: 1016056 / 619632 / 89968 / 34196 / 306456 / 156792
Swap: 2097148 / 397784 / 1699364

Ser inte så lovande ut eller hur? Hur mycket behövs det för en test-Karrot med få användare?


#8

De kan ju vara bra om du lägger till bike lr nått i namnet så folk inte tror du har de primära repositoryt för Karrot. Även bra om du ändrar i readme filen så det förklaras vad detta är där.

Bra att de är samma databas för den hade nog inte orkat med 2. Den har bara 1GB ram så de är lite lite. Det står att den använder 400MB SWAP vilket jag tycker är lite mycket, men frågan om det är saker den verkligen behöver. Jag skulle vilja se hur den lastar swappen så kan du köra detta kommando så kan vi se hur mycket swap den använder om några dar…

sudo swapoff -a; sudo swapon -a

Kommandot resettar swap hanteringen genom att tvinga den sluta swappa och sen aktiveras swappen igen. Det kommer att ta några minuter och sidan till forumet kan bli slö på att svara under den tiden.


#9

Gjorde lite tester, la upp en VPS på Hertzner’s cloud, var billigare är Digital Ocean också. Tog en med 2GB ram för ca 30 kr och testa lite. Med alla dockers så behöver den 2GB ram, men problemet med docker setup är att det är ett fel i setupen av frontenden så den failar i yarn:

$ docker-compose logs -f frontend
Attaching to karrotdocker_frontend_1
frontend_1 | yarn install v0.24.6
frontend_1 | [1/4] Resolving packages…
frontend_1 | [2/4] Fetching packages…
frontend_1 | warning There appears to be trouble with your network connection. Retrying…
frontend_1 | error quasar-framework@0.15.8: The engine “node” is incompatible with this module. Expected version “>= 8.9.0”.
frontend_1 | error Found incompatible module
frontend_1 | info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
karrotdocker_frontend_1 exited with code 1

Efter en del testande så visade sig att npm måste vara uppdaterad och latest, fix:

docker-compose run frontend bash
npm install n -g
n latest
yarn
exit
docker-compose restart frontend


#10

När jag testar med din fork så får jag upp lite fel, du har uppenbart ändrat lite för mycket…

frontend_1 | ERROR Failed to compile with 1 errors14:16:21
frontend_1 |
frontend_1 | error in ./src/locales/index.js
frontend_1 |
frontend_1 |
frontend_1 | ✘ http://eslint.org/docs/rules/no-trailing-spaces Trailing spaces not allowed
frontend_1 | src/locales/index.js:3:1
frontend_1 |
frontend_1 | ^
frontend_1 |
frontend_1 | ✘ http://eslint.org/docs/rules/no-multiple-empty-lines More than 1 blank line not allowed
frontend_1 | src/locales/index.js:11:1
frontend_1 |
frontend_1 | ^
frontend_1 |
frontend_1 | ✘ http://eslint.org/docs/rules/no-trailing-spaces Trailing spaces not allowed
frontend_1 | src/locales/index.js:12:1
frontend_1 |
frontend_1 | ^
frontend_1 |
frontend_1 | ✘ http://eslint.org/docs/rules/indent Expected indentation of 2 spaces but found 6
frontend_1 | src/locales/index.js:33:1
frontend_1 | }
frontend_1 | ^
frontend_1 |
frontend_1 | ✘ http://eslint.org/docs/rules/indent Expected indentation of 2 spaces but found 4
frontend_1 | src/locales/index.js:40:1
frontend_1 | }
frontend_1 | ^
frontend_1 |
frontend_1 |
frontend_1 | ✘ 5 problems (5 errors, 0 warnings)
frontend_1 |
frontend_1 |
frontend_1 | Errors:
frontend_1 | 2 http://eslint.org/docs/rules/indent
frontend_1 | 2 http://eslint.org/docs/rules/no-trailing-spaces
frontend_1 | 1 http://eslint.org/docs/rules/no-multiple-empty-lines
frontend_1 |
frontend_1 | @ ./src/i18n.js 6:0-32
frontend_1 | @ ./src/main.js
frontend_1 | @ multi ./build/hot-reload.js ./src/main.js


#11

Formateringen med indent etc i Python är väldigt känslig, tog en index.js från en Karrot’s frontend på GIT och använde VI editorn för att ta bort de andra språken och då funkade det bra. Inga fel efter omstart av frontend med min modifierade index.js och bara engelska och svenska språken som syns. Du kan testa på:

http://minerva.nsys.se:8080/

Det finns ett gäng test användare, tex:
122534larry60@hotmail.com med lösenord 123, kolla under members för fler med samma lösenord.


#12

Det funkade bra igår men nu står det bara karrot loading.

edit: det har fungerat bra ett tag nu i några minuter, men nu blev det långsamt igen och laddar inte


#13

En liten peak för att du var inloggad, men inget som förklarar en sådan perstandaloss orsakat av instansen, men du får tänka på att om andra instanser på maskinen drar väldigt mycket resurser så kommer det att märkas. Det beror ju på hårdvara, prioritering av olika VPSer etc. Vill man vara 100% säker så får man köra på egen maskin, men de kostar ju därefter. Det här är en test instans så låt oss se om de händer igen, är de bara ca 21:30 på kvällen osv.


#14

Jepp, det ska räcka bara så att några stycke kan vara där och leka för att testa. Jag ska fortsätta testa och säger till om det fastnar igen. Just nu håller jag på att göra de sista förändringar.

@tomasz har du nån logga på CK med bra upplösning som jag kan använda (både till header och footer av Karrot)?


#15

Du får gärna ladda ner från min repo, Nicco, och köra skiten igen. 99% klar! (om det inte blir något fel, locales iaf ska vara ok)


#16

Jag hade inte tid att jobba på det senaste dagar men nu ska jag fixa det klart!

@nicco har vi testat att ändra isInactive () { return this.store && this.store.status !== 'active'
till
isInactive () { return this.store && this.store.status === 'active'?

på filen .../src/pages/Store/Pickups.vue

Det var ett tips från Tilmann