vkh-cr / festapp Goto Github PK
View Code? Open in Web Editor NEWFestapp - mobile app for festivals, conferences or events.
Home Page: https://festapp.net
License: MIT License
Festapp - mobile app for festivals, conferences or events.
Home Page: https://festapp.net
License: MIT License
Tlačítko info na hlavní stránce vede k obecnějším informacím o celém AV a obsahuje témata jako:
Info stránka obsahuje:
Z pohledu vývojáře jde o zobrazení toho, co je v tabulce information. Jde o seznam názvů, při rozkliknutí se zobrazí popis viz
Stránka s detailem programu.
Zobrazí se tyto informace:
Pro tuto story jenom jeden den se statickými daty.
Pokud je počet nepřečtených zpráv větší než 0, zobrazí se vpravo nahoře v malém červeném kolečku počet nepřečtených zpráv.
Počet nepřečtených zpráv lze zjistit z user_news, podle poslední přečtené zprávy.
Aplikace obsahuje mapu, na kterou se jde prokliknout přes ikonu na hlavní stránce, přes rozkliknutí detailu programu případně přes jiný odkaz v aplikaci (například část info).
Mapa v aplikaci zobrazuje místa, na kterých v AV probíhá program, ubytování, stravování nebo jiné důležité body.
přidej a vygeneruj mapu Velehradu podle https://pub.dev/packages/flutter_map/versions/0.13.1#offline-maps-using-tilemill
Během běhu aplikace (když je aplikace otevřená) a dojde nová zpráva, zobrazí se uživateli ve formě toastu.
Je možné přidat stránku do Info, je možné přidat program, je možné přidat notifikace (novinku) a místo do mapy.
Vytvoř menu ve stylu TabView:
Use Figma as refernce:
https://www.figma.com/file/AwWWI7HHs8Nh1jtiUrCaHa/App-First-draft?node-id=0-1&t=ZmScO6DNmeJk4jaI-0
Use for richtext popup:
https://pub.dev/packages/flutter_quill
Datagrid:
https://github.com/bosskmk/pluto_grid
Na mapě se zobrazí ukazatel a směr uživatele. Taky se zobrazením žádosti systému o povolení informace o poloze na webové stránce
Stránka obsahuje:
Jméno
Příjmení
Pohlaví
Roli (organizátor - dobrovolník - účastník)
(nullable)Dobrovolnickou oblast
(nullable)Místo ubytování
Tlačítko odhlásit (po odhlášení je uživatel přesměrován na HomePage)
Přístup na AdminPage (pokud ho uživatel má)
údaje jsou uložené v tabulce migrated_users
Update na homepage:
místo odhlásit - jméno uživatele
List se jménem a příjmením uživatele.
Stránka pro jednotlivý program.
Součástí programu je možnost zvolit, zda obsahuje nějaké info jen pro přihlášené.
Taky je možné pro admina zobrazit přihlášené lidi a dodávat info (Odeslat zprávu o změně místa nebo jiné informace).
Použij komponentu na úpravu textu a ověř, že lze upravený text zobrazit. Komponenta by měla být flutter_quill.
Komponenta musí být schopna fungovat na webu.
Je možné vkládat i obrázky, odkazy, velikosti písma, tučné písmo, odstavce...
Upravený text lze uložit jako text do supabase databáze (jako html např.) a obrázky zvlášť do supabase storage.
Stránka vypadá jako: Levá půlka je samotný editor, v pravé půlce se zobrazí výsledek, jak bude vypadat na telefonu (šířka 415px).
Součástí je jedno tlačítko "uložit", které uloží aktuální obsah do tabulky information (title: test, content: samotné html).
Při navštívení RichTextEditoru, se upravovaný text znovunačte.
logo Absolventského Velehradu a název AV 2023 do všech potřebných míst
Enable configurable DarkMode for application
Full offline support including events, info, news, my_program, map.
Poptat od Marušky grafický podklad k ikonkám do aplikace ->_ viz její návrh na homepage.
Umístění ikonek ve spodní části obrazovky.
Na mapě se zobrazí ikonky podle sloupce type v tabulce places.
Pokud stránka mapy příjímá odkaz (id tabulky places), tak se zvýrazní (zvětší se ukazatel nebo se nějak jinak zvýrazní) dané místo na mapě. Jde pouze o úpravu na stránce mapy.
Funkce pro administrátora pro editaci místa v mapě
Otevře se mapa a uprostřed je prázdná kapka, jejíž dolní bod určuje souřadnice, které při uložení stránka vrací.
Stránka vrací bod LatLng.
V dolní části se zobrazí tlačítka uložit a storno. Pokud uživatele stiskne storno, stránka vrací null, v opačné případě bod.
Stránku lze také použít pro editaci (pokud stránka jako parametr přijímá bod).
Login vypada docela hrozne na webu, myslim ze maxWidth by pomohl a bylo by to rychle reseni
Tlačítko z administračního rozhraní zavolá skript, který stáhne uživatelské data z google tabulky.
Parametry
Název listu: Data Master
Názvy sloupců:
Časová značka | Číslo registrace | Id | Jméno | Příjmení | Pohlaví | E-mail | Rok narození | Adresa trvalého bydliště | Kraj | Město, kde trávíš čas | Varianta ubytování | Chceme bydlet spolu | Oblast dobrovolnické pomoci | Víkendovka pro dobrovolníky | Diskuzní skupinky | Telefon | Telefon v případě ohrožení | Zdravotní omezení a diety | Tištěná brožura | Triko | Dobrovolný příspěvek | Potvrzení o daru | Poznámka | Informace po AV | Celková cena | Role
Názvy podstatné pro aplikaci:
Id
Jméno
Příjmení
E-mail
Pohlaví
Varianta ubytování -
const GYMPL_TYPE = "gympl";
const VDCM_POSTEL_TYPE = "vdcmPostel";
const SPACAK_FOOD_TYPE = "spacakFood";
const SPACAK_ONLY_TYPE = "spacakOnly";
const PROGRAM_FOOD_TYPE = "programFood";
const PROGRAM_ONLY_TYPE = "programOnly";
const PROGRAM_ONLY_FRIDAY = "programOnlyFriday";
const PROGRAM_ONLY_SATURDAY = "programOnlySaturday";
const SUB_ACCOMODATION = "waiting";
const STORNO_TYPE = "storno";
const OTHERS_TYPE = "others";
Telefon
Telefon v případě ohrožení
Role
Get CSV form here: https://docs.google.com/spreadsheets/d/1fkh82rfpYaHBZezoILeIH5mnVpd9sgDiAiM4sUilqMQ/edit?usp=sharing
Dominik:
zkoušel jsem to podle
https://blog.codemagic.io/flutter-with-google-sheets/#deployment-of-app-script
AppScript:
The signIn
method is discouraged on the web because it can't reliably provide an idToken
.
Use signInSilently
and renderButton
to authenticate your users instead.
Read more: https://pub.dev/packages/google_sign_in_web
GSI_LOGGER-TOKEN_CLIENT: Starting popup flow.
[GSI_LOGGER-OAUTH2_CLIENT]: Starting popup timer.
83
[GSI_LOGGER-OAUTH2_CLIENT]: Checking popup closed.
GSI_LOGGER-TOKEN_CLIENT: Handling response. {"access_token":"fhjfjffchQojsIcRcWeE5SOqKwbBW2FkuyFuYaHz81b290zMdh-G6fRlw6loLGdoaLtzLkmJV2te0OY7yvDaRcdjxd9tsUjywThcUklgOX2ajGLZBYS8dhkpLO4u-nwv2LVarYv_bCkFdW2JwzcEtQaCgYKAT0SARMSFQF4udJhOBsccetD5h9loe2x9pKmjw0163","token_type":"Bearer","expires_in":3599,"scope":"email profile https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/drive https://www.googleapis.com/auth/spreadsheets openid https://www.googleapis.com/auth/userinfo.email","authuser":"0","prompt":"none"}
[GSI_LOGGER-OAUTH2_CLIENT]: Popup timer stopped.
GSI_LOGGER-TOKEN_CLIENT: Trying to set gapi client token.
GSI_LOGGER-TOKEN_CLIENT: The OAuth token was not passed to gapi.client, since the gapi.client library is not loaded in your page.
"XMLHttpRequest error."
add user data
https://supabase.com/docs/guides/auth/managing-user-data
Global configuration for application to
Ikonka s avaterem a jménem přes kterou se jde prokliknout na uživatelské nastavení.
V případě, že uživatel nebude přihlášený, bude tam ikonka/tlačítko "přihlásit se".
Logo AV v opačné části než je ikonka s avatarem, viz připravený design od Marušky.
Pro ikonku s avatarem lze momentálně použít Icons.account_circle_round
Podívat se na kategorie typů ikonek zde: https://docs.google.com/spreadsheets/d/1l4NHsLlahVUdRjVEe48X_ogHTLNJ7Nvt/edit#gid=140715753 nebo přímo v Supabase a odsouhlasit si kategorie.
Následně zadat tvorbu ikonek.
utilize raw-metadata for user info
setup row safety
update check in code
Stránka s novinkami.
Stránka má podobu grouped listview - např. https://pub.dev/packages/grouped_list.
Zprávy jsou sgrupované podle dne, kdy byly odeslané. Formát zprávy je neformátovaný text.
Zprávy jsou seřazené od nejnovější po nejstarší.
Na stránce je tlačítko odeslat, kde může organizátor zadat zprávu a odeslat ji. Po stisku tlačítka se zobrazí popup, kde lze napsat zprávu. Tlačítka jsou Storno-Odeslat.
Omezení:
Zprávu může psát pouze přihlášený uživatel (tlačítko plus pouze pro přih. uživ.). Zobrazit je mohou všichni.
Přečtené zprávy se zobrazí jako zašedlé. (Nebo nepřečtené zprávy se zobrazí jako zvýrazněné).
Databáze:
Součástí je vytvoření tabulky news se sloupci id created_at, created_by, message.
Další součást je vytvoření tabulky user_news se sloupci id (userId) a last_read_id (nejnovější přečtená zpráva).
úprava ikonek v .svg formátu od Marušky - úprava komponenty kapky, aby se v ní správně zobrazila ikonka
V přihlašovací obrazovce se po úspěšném přihlášení zobrazí toast a uživatel je přesměrován na HomePage.
Pokud je uživatel přihlášený, zobrazí se na HomePage tlačítko odhlásit.
Program je zobrazený na timelině, viz komponenta ve Flutter.
Příklad možného zborazení programu:
https://pub.dev/documentation/timelines/latest/
https://chulwoo.dev/timelines/#/
Při rozkliknutí detailu programu je možné získat podrobnější informace, prokliknout na mapu s místem průběhu programu, registrovat se na program.
logo Absolventského Velehradu a název AV 2023 do všech potřebných míst
I'm stuck here:
Can you please help/reproduce/review?
Thanks!
Logo AV23 s "Absolvenstký Velehrad 2023" a grafickým návrhem, který bude.
enable sending news as push notification
úprava bavy pozadí a změna log na bílý kříž -> nastavení barevného pozadí aplikace a správná grafika loga
Program na hlavní stránce obsahuje dva skrolovatelné programy, kterých jde překlikávat pomocí záložky.
Příklad překlikávacích záložek:
https://docs.flutter.dev/cookbook/design/tabs
Program je zobrazený po jednotlivých dnech (čtvrtek, pátek, sobota, neděle), zobrazené jsou paralelní programy vedle sebe.
Jeden tab zobrazuje celý program, druhý tab zobrazuje vybraný program uživatele.
Příklad možného zborazení programu:
Odkaz na návrh hlavní stránky s programem od Marušky:
https://cdn.fbsbx.com/v/t59.2708-21/339797749_1146397376761684_1878402479470115393_n.pdf/AV-appka.pdf?_nc_cat=110&ccb=1-7&_nc_sid=0cab14&_nc_ohc=d2Zya4CqBxIAX8CZOLz&_nc_ht=cdn.fbsbx.com&oh=03_AdToGH4dR1SEKFdxMv1S35AI8W_yY-DiultrG3zvAZe-tw&oe=64456F25&dl=1
Program na hlavní stránce obsahuje dva skrolovatelné programy, kterých jde překlikávat pomocí záložky.
Příklad překlikávacích záložek:
https://docs.flutter.dev/cookbook/design/tabs
Program je zobrazený po jednotlivých dnech, zobrazené jsou paralelní programy vedle sebe.
Při rozkliknutí detailu programu je možné získat podrobnější informace, prokliknout na mapu s místem průběhu programu, registrovat se na program.
Příklad možného zborazení programu:
https://pub.dev/documentation/timelines/latest/
https://chulwoo.dev/timelines/#/
Odkaz na návrh hlavní stránky s programem od Marušky:
https://cdn.fbsbx.com/v/t59.2708-21/339797749_1146397376761684_1878402479470115393_n.pdf/AV-appka.pdf?_nc_cat=110&ccb=1-7&_nc_sid=0cab14&_nc_ohc=d2Zya4CqBxIAX8CZOLz&_nc_ht=cdn.fbsbx.com&oh=03_AdToGH4dR1SEKFdxMv1S35AI8W_yY-DiultrG3zvAZe-tw&oe=64456F25&dl=1
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.