Skip to content

T0liver/recout

Repository files navigation

RecOut!

Egy edzéskövető app, ami nem több, mint amit a neve mond. Semmi követés vagy adathalászat, ellenben letisztult kinézet, és működés!

Rögzítsd egyszerűen az edzéseket, amiket csináltál, mindenféle nehézség nélkül, egy egyszerű kattintással!

Egy edzésnek meg lehet adni:

  • a típusát
  • a dátumát
  • az időtartamát

Edzések kilistázása, hogy megtekinthessük a korábbi tevékenységeket.

Edzések szerkesztése, mert bárkivel megesik, hogy valamit félrenyom.

Roadmap

1. Prototípus és tervezés

Ez az első része, ami készen van a projeknek, egy Figma terv alapján indult ki, ami itt található:

RecOut! Figma terv

Ez alapján már írható volt egy specifikáció is. Tudom, ez így egy visszafele folyamat, de ez a prototípus picit olyan, mint az ötletelés, hogy addig próbálkozom, amíg jó nem lesz, és utána tudok olyan döntéseket meghozni az architektúráról, amik majd az egész projektet befolyásolják. Nem akarok vakul dönteni, arra ott volt a három prog tárgy.

RecOut! specifikáció

// TODO: specifikációt megírni

2. Projekt inicializálása

Ez az a rész, hogy beállítom a környezetet, megnézem mi is az a Firebase meg ilyenek, meg hogy melyik IDE lenne a legjobb a fejlesztésre.

Meg ide lehet venni azt is, hogy most létrehoztam ezt a projektet (flutter create recout hűűű), és ezeket az init commitokat írom.

// TODO: firebase acc létrehozása

3. UI implementáció

Ezek után pedig elkezdek widgeteket készíteni, amikből felépülhet majd az app.

Ezek még nem lesznek működőképes gombok meg történetek, inkább csak az a lényeg, hogy legyen egy prototípushoz hasonló dolog, vagyis, hogy a prototípust lebontsam építőelemekre, amiket implementálok, hogy azokból tudjam felépíteni majd az alkalmazást.

Elkészítendő widgetek listája

User workflow

Főképernyő
  • főképernyő oldal
    • felső üdv felirat
    • Edzés gyors hozzáadása panel
      • normál állapot
      • hozzáadás állapot
    • Korábbi edzések panel
      • Korábbi edzések felirat
      • Edzés elem panel
      • hirdetés panel
Első belépés
  • első belépési oldal
    • üdv szöveg panel + ikon felette
    • nyelv beállítása gomb
    • bejelentés gomb
    • regisztráció gomb
Bejelentkezés
  • bejelentkeztető oldal
    • vissza gomb
    • főcím + ikon panel
    • felhasználónév beírás
    • jelszó beírás
    • bejelentés gomb
Regisztráció
  • regisztrációs oldal
    • vissza gomb
    • főcím + ikon panel
    • felhasználónév beírás
    • e-mail cím beírás
    • jelszó beírás
    • regisztráció gomb
Új aktivitás
  • új aktivitás oldal
    • vissza gomb
    • főcím
    • ikon panel
    • edzés neve doboz
    • edzés időpontja választó
    • edzés időtartama választó
    • edzés helyszíne választó
    • mentés gomb
Részletes aktivitás
  • részletes aktivitás oldal
    • vissza gomb
    • ikon panel + cím
    • edzés neve
    • edzés időpontja
    • edzés időtartama
    • edzés helyszíne
    • törlés gomb
    • törlés dialógus
      • főszöveg
      • szöveg
      • igen gomb
      • nem gomb
Aktivitás szerkesztése
  • aktivitás szerkesztése oldal
    • vissza gomb
    • főcím
    • ikon panel
    • edzés neve doboz
    • edzés időpontja választó
    • edzés időtartama választó
    • edzés helyszíne választó
    • mentés gomb
Beállítások
  • beállítások oldal
    • vissza gomb
    • főcím
    • nyelv cím
    • téma módosítása cím
    • felhasználói fiók cím
    • hiba bejelentése cím
    • alsó szöveg
Nyelv választó
  • nyelv választása cím
    • vissza gomb
    • főcím
    • nyelvek listázása
    • fordítása hozzájárulás szöveg
Téma választó
  • téma választása oldal
    • vissza gomb
    • főcím
    • témák listázása
    • téma hozzáadása szöveg
Hiba bejelentése
  • hiba bejelentése oldal
    • vissza gomb
    • főcím
    • főszöveg
    • alsó szöveg
Fiók
  • fiók oldal
    • vissza gomb
    • főcím
    • fiókkép ikon
    • felhasználónév
    • vezetéknév, keresztnév
    • születési idő
    • e-mail cím
    • adatok módosítása gomb
    • fiók törlése gomb
    • fiók törlése dialógus
      • főszöveg
      • szöveg
      • igen gomb
      • nem gomb
Fiók módosítása
  • fiók módosítása oldal
    • vissza gomb
    • főcím
    • fiókkép ikon
    • felhasználónév
    • vezetéknév, keresztnév módosítása
    • születési idő módosítása
    • e-mail cím
    • rendben gomb

... és még egy csomó firebase-es dolog, amit nem volt időm dokumentálni, de most kész az alkalmazás, és működik, ahogy elterveztem! (többnyire.)

Fejlesztés TODO lista

Összeszedett lista, hogy mika azok a dolog, amiket az 1.0 verzió kiadása óta feljegyeztem, hogy javítani kell, és pipálva azok, amik készek, a végére jöbbek az újak.

Még kellene egy prioritás jelző rendszer is, hogy az adott funkció / bug mennyire fontos. Pl. egy gomb kinézete nem olyan fontos, mint pl. ha a firebase nem működik vagy hasonló.

Legyen 5 osztály, a 0 a nagyon fontos, a 4 a ráér, és egy új funkció / javításkor a sor végére zárójelben felvesszük a prioritását a feladatnak, de ez nem lesz kötelező, mivel ha egy javítást már pl. issue-ból máris implementálunk, akkor nem kell felvenni prioritást, mivel már kész.

Na, ebben a szellemben kezdjük is ez a funkciókat!

  • androidon több helyet adni a tetején, mert a vissza gomb a navigációs sáv alatt van (3)
  • üres edzéslistánál a szövegben benne van egy "\n", mivel így akartam megoldani a sortörést. Erre vagy legyen egy másik megoldás, vagy ne legyen sortörés (4)
  • ugyanez a szöveg sötét témában fekete marad, nem látható (4)
  • bejelentkezés, regisztrációs, illetve egyéb nagyobb gombokban a szövegük valami margón túlcsordulhat, és levágja a száras betűk alját (3)
  • regisztrációnál nem kap megerősítő emailt a felhasználó (1)
  • androidon új edzéskor a név beírásánál a billentyűzet nem automatikusan nagybetűsen kezdődik
  • elfelejtett jelszó funkció (0) (első regisztrált fióknak elfelejtettem a jelszavát lmao)
  • web-en a bejelentkezést megkönnyíteni, azaz enter = bejelentkezés gomb, felhasználónév helyes felismerése (1)
  • felhasználó profil frissítése után a vissza gomb navigáció sem a BackBtn-el, sem a navigációs visszagombbal nem működik (2)
  • regisztráció ne lehessen lehetséges olyan felhasználónévvel, amit már használtak vagy bejelentkezés e-mail cím alapján legyen (0)
  • privacy policy oldal (/privacy) (0)
  • alkalmazás nevének megváltoztatása androidon és ios-en (recout -> RecOut! legyen az ikon alatti kis címke)
*2025.06.08.*
Nos, sikerült az összeset implementálni.
Lehet... lehet, hogy...
Nem, az nem lehet.
De igen.
Lehet, itt az ideje az 1.0.0-nak.

...

Vágjunk bele.

About

Flutter alapú szoftverfejlesztés VIAUAV45 tárgy nagy házi feladata

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published