Keizai - en ekonomisk översiktsida

Permalänk
Medlem
Skrivet av Jaevel:

Hobbyprojekt brukar jag istället skriva i javascript, node ihop med någon SPA. där är det sport att inte kommentera alls.

Är du masochist? 😁
När man är van vid C# eller andra språk som inte är dynamiskt typade så har jag svårt att se varför man vill använda JS. På jobbet i frontend är vissa delar en mardröm att gräva i, alldeles för stora React-komponenter och skrivna i JS så allt blir jobbigare i och med "any" och hälften av datan fattar man knappt vad det är. Dessutom ser man inte några referenser på metoder osv som man annars är van vid.

Permalänk
Medlem
Skrivet av Airikr:

Intressant. Har ju förstått att kommentarer i källkoden inte är ett krav, men många skulle förstå koden mer, om det fanns kommentarer, främst som beskriver var till exempel en funktion kan hittas bland alla filer.

Med en modern kodeditor, ex. VS Code så behöver man inte manuellt skriva var en funktion är. Det är bara Ctrl + klicka eller genom att söka genom hela projektet efter funktionen man metar efter. Kan rekommendera att kika på VS Code om du inte redan använder det.

Permalänk
Medlem
Skrivet av ChrisDev:

Är du masochist? 😁
När man är van vid C# eller andra språk som inte är dynamiskt typade så har jag svårt att se varför man vill använda JS. På jobbet i frontend är vissa delar en mardröm att gräva i, alldeles för stora React-komponenter och skrivna i JS så allt blir jobbigare i och med "any" och hälften av datan fattar man knappt vad det är. Dessutom ser man inte några referenser på metoder osv som man annars är van vid.

Att utvecklarna väljer att använda sig av any överallt är ju inte språkets fel isf. Då har de ju valt att inte använda features i TS som gör livet enklare. Skyll på utvecklarna isf.

Och referenser / källa på metoder är ju det som JS gör bra. Oavsett var funktionen kommer ifrån, den egna källkoden eller en importerad modul, så går det ju att se hur källkoden ser ut. Gäller ju bara att sätta upp projektet lokalt.

Permalänk
Medlem
Skrivet av martengooz:

Att utvecklarna väljer att använda sig av any överallt är ju inte språkets fel isf. Då har de ju valt att inte använda features i TS som gör livet enklare. Skyll på utvecklarna isf.

Och referenser / källa på metoder är ju det som JS gör bra. Oavsett var funktionen kommer ifrån, den egna källkoden eller en importerad modul, så går det ju att se hur källkoden ser ut. Gäller ju bara att sätta upp projektet lokalt.

Att inte använda TS gör att allt inferas som any. Gällade referenser etc sä missförstod du mig nog. 🙂

Permalänk
Medlem
Skrivet av ChrisDev:

Att inte använda TS gör att allt inferas som any. Gällade referenser etc sä missförstod du mig nog. 🙂

Absolut, antog att de körde TS iom att ”any” inte är ett koncept i JS annars. Allt är bara otypat, men gissar att det är det du menar.

Och vad menade du med referenser isf? Har kört C# också, men ser inte vad skillnaden skulle vara med referenser?

Permalänk
Medlem
Skrivet av martengooz:

Absolut, antog att de körde TS iom att ”any” inte är ett koncept i JS annars. Allt är bara otypat, men gissar att det är det du menar.

Och vad menade du med referenser isf? Har kört C# också, men ser inte vad skillnaden skulle vara med referenser?

Om du hovrar över typ vad som helst i JS så får du ju "any".

Med referenser menar jag att du kan se ovanför metoder/klasser/fält osv var de används och kan snabbt ta sig dit. Med JS får man sitta och söka och det kan vara tröttsamt i större projekt.

Permalänk
Medlem
Skrivet av ChrisDev:

Om du hovrar över typ vad som helst i JS så får du ju "any".

Med referenser menar jag att du kan se ovanför metoder/klasser/fält osv var de används och kan snabbt ta sig dit. Med JS får man sitta och söka och det kan vara tröttsamt i större projekt.

Ja det kanske är vad din editor säger. Men konceptet av typen "any" är bara relevant i TS. Om du kör JS så finns inte typer som koncept utöver de primitiva och några specialfall. Så där det står "any" är det nog egentligen Object.

Men ang. referenser så förstod jag isf korrekt i mitt första meddelande. Låter som att du inte satt upp din editor och LSP korrekt om du inte kan se referenser. Såhär ser det ut för mig i VS code när jag högerklickar på ett funktionsnamn, till höger kan du se i vilka filer den används.

Permalänk
Medlem
Skrivet av martengooz:

Ja det kanske är vad din editor säger. Men konceptet av typen "any" är bara relevant i TS. Om du kör JS så finns inte typer som koncept utöver de primitiva och några specialfall. Så där det står "any" är det nog egentligen Object.

Men ang. referenser så förstod jag isf korrekt i mitt första meddelande. Låter som att du inte satt upp din editor och LSP korrekt om du inte kan se referenser. Såhär ser det ut för mig i VS code när jag högerklickar på ett funktionsnamn, till höger kan du se i vilka filer den används.

<Uppladdad bildlänk>

Jag vet att det bara är relevant i TS, poängen var ju att JS alltid är "any" naturligt vilket jag numera har väldigt svårt för, men det är ju en smaksak.

Tack för tipset angående referenserna, hänger inte så mycket i VS Code längre så har nog en hel del att lära 😁

Permalänk
Medlem
Skrivet av martengooz:

Med en modern kodeditor, ex. VS Code så behöver man inte manuellt skriva var en funktion är. Det är bara Ctrl + klicka eller genom att söka genom hela projektet efter funktionen man metar efter. Kan rekommendera att kika på VS Code om du inte redan använder det.

Jodå, använder VS Code, men då mer bestämt VSCodium av integritetsskäl. Har dock inaktiverat allt sånt då jag inte finner det distraherande. Vill ha en liknande upplevelse som när jag använde EditPlus. EditPlus är en textredigerare där du får noll hjälp från mjukvaran, medan du knackar kod. Eftersom jag kan lätt bli distraherad, fann jag det lugnande

Vad jag har sett, så kan man endast söka igenom den aktuella filen i VS Code/Codium, alternativt efter filnamn. Man måste då öppna varje fil som man tror är revelant för och försöka hitta en viss funktion, vilket kan ta tid. Därför tänkte jag att det vore kanske bra att skriva med var man hittar funktionen i kommentaren

Visa signatur

Citera mig om du vill att jag ska hitta till ditt svar.
airikr.me /device:desktop. Andra projekt: Keizai, Koroth & Serenum.

Permalänk
Medlem
Skrivet av Airikr:

Det kan du, men just nu endast som inloggad. Gå till inställningar co kryssa sen i "Använd ett ljust tema" under "Alternativ".

Vill du berätta varför du vill undvika kommentarer så mycket som du kan?

Ja, helt klart, och det är ju en fin liten utmaning Jag lade till detaljerade kommentarer för 3 filer förut, men blev snabbt hjärntrött. Blev då påmind om varför jag skippade att lägga till kommentarer för Keizai :/ Får se om jag fortsätter lägga in kommentarer till de andra filerna. Kanske är bättre med en wiki som förklarar allt.

Det ar av anledningen ifall man skulle glomma att andra kommentarerna efter man andrat logiken.

Om man ger tydliga variabelnamn samt metod-/funktionsnamn tillsammans med tydliga variabler, sa behover man inte kommentera vad som gors eller hur det fungerar.

Daremot om det ar komplex logik eller kan vara svart att folja exakt vad som gors i metoden sa kan man ge en beskrivning ovanfor, typ
// Metod-/Funktions-/Klassnamn Helper
// beskrivning

Forr i tiden sa var kommentarer nastan ett maste da man inte kunde ge beskrivliga variabelnamn pga teckenlangdsbegransningen.

Visa signatur

Profectus est bonus introductionem scitis quoniam coepit usquam

Permalänk
Medlem
Skrivet av Mahkizmo:

Det ar av anledningen ifall man skulle glomma att andra kommentarerna efter man andrat logiken.

Om man ger tydliga variabelnamn samt metod-/funktionsnamn tillsammans med tydliga variabler, sa behover man inte kommentera vad som gors eller hur det fungerar.

Daremot om det ar komplex logik eller kan vara svart att folja exakt vad som gors i metoden sa kan man ge en beskrivning ovanfor, typ
// Metod-/Funktions-/Klassnamn Helper
// beskrivning

Forr i tiden sa var kommentarer nastan ett maste da man inte kunde ge beskrivliga variabelnamn pga teckenlangdsbegransningen.

En väldigt förståelig anledning, som jag även förstår fullt ut. Får se om jag kommer på någon smart lösning gällande det där.

Visa signatur

Citera mig om du vill att jag ska hitta till ditt svar.
airikr.me /device:desktop. Andra projekt: Keizai, Koroth & Serenum.

Permalänk
Medlem
Skrivet av Airikr:

Vad jag har sett, så kan man endast söka igenom den aktuella filen i VS Code/Codium, alternativt efter filnamn. Man måste då öppna varje fil som man tror är revelant för och försöka hitta en viss funktion, vilket kan ta tid. Därför tänkte jag att det vore kanske bra att skriva med var man hittar funktionen i kommentaren

Om du använder dig av förstorningsglaset i sidomemyn (eller Ctrl + shift + f) så kan du söka i alla filer i projektet.

Permalänk
Medlem
Skrivet av martengooz:

Om du använder dig av förstorningsglaset i sidomemyn (eller Ctrl + shift + f) så kan du söka i alla filer i projektet.

Ja, där du. Där ser man Dock var det en rätt rörig sökning, men effektiv.

Visa signatur

Citera mig om du vill att jag ska hitta till ditt svar.
airikr.me /device:desktop. Andra projekt: Keizai, Koroth & Serenum.

Permalänk
Medlem
Skrivet av ChrisDev:

Är du masochist? 😁
När man är van vid C# eller andra språk som inte är dynamiskt typade så har jag svårt att se varför man vill använda JS. På jobbet i frontend är vissa delar en mardröm att gräva i, alldeles för stora React-komponenter och skrivna i JS så allt blir jobbigare i och med "any" och hälften av datan fattar man knappt vad det är. Dessutom ser man inte några referenser på metoder osv som man annars är van vid.

Anledningen att jag arbetar med C# är att jag tycker det är enklare, mer förutsägbart, lättare att hitta uppdrag inom.
Men för mitt eget nöjes skull så är det den vilda västern av kodstandarder man kan ägna sig åt i javascript.

Man kan vara överdrivet kreativ och komma med lösningar som aldrig hade flugit i produktionskod för något som någon betalar för.

Permalänk
Medlem

Har klickat runt lite och gillar verkligen hur pass "basic" det är!
Har tänkt försöka ge mig på att sätta upp en egen instans, (även om sidan är smidig så känns det "bättre" att göra så).

Permalänk
Medlem
Skrivet av Airikr:

Intressant. Har ju förstått att kommentarer i källkoden inte är ett krav, men många skulle förstå koden mer, om det fanns kommentarer, främst som beskriver var till exempel en funktion kan hittas bland alla filer.

Har nu gjort så att det är enklare att byta tema, även när man är utloggad. Ändringarna sparas med hjälp av localStorage när man är utloggad. Så fort man loggar in, tas datan i localStorage bort, då den inte behövs då allt sparas då för sitt konto.

Ändringslogg: https://codeberg.org/airikr/Keizai/commit/0bfaa7fe144717ca43d...

@WebbkodsLärlingen @ELF Lade till kommentarer i .htaccess, account-export.php, account-signout.php och index.php innan jag blev hjärntrött och lade ner det hela för i dag. Men som det ser ut nu, tycker ni det är enklare att förstå källkoden?

Nu är jag lite sen till diskussionen, men jag tycker den här sortens kommentarer är helt överflödiga:

# Destroy and unset the session session_unset(); session_destroy();

Koden i sig är i det här fallet självförklarande, eftersom att funktionsnamnen säger tydligt vad de gör.

Principiellt så tycker jag att kommentarer bara gör sig i två scenarier: biblioteks/api-dokumentation och när man nödgas göra något som sticker ut, typ hantera ett specialfall nästan aldrig uppstår men om det inte hanteras så stoppas applikationen.

Permalänk
Medlem
Skrivet av MrShizzle:

Har klickat runt lite och gillar verkligen hur pass "basic" det är!
Har tänkt försöka ge mig på att sätta upp en egen instans, (även om sidan är smidig så känns det "bättre" att göra så).

Tack

Ja, du kan ju alltid installera Keizai på din egna server, men antar du menar det med "instans"? Ska införa versionkoll så att de som har Keizai installerat på sin egna server, kan bli meddelade om att en ny uppdatering finns att hämta.

Skrivet av monocles:

Nu är jag lite sen till diskussionen, men jag tycker den här sortens kommentarer är helt överflödiga:

# Destroy and unset the session session_unset(); session_destroy();

Koden i sig är i det här fallet självförklarande, eftersom att funktionsnamnen säger tydligt vad de gör.

Principiellt så tycker jag att kommentarer bara gör sig i två scenarier: biblioteks/api-dokumentation och när man nödgas göra något som sticker ut, typ hantera ett specialfall nästan aldrig uppstår men om det inte hanteras så stoppas applikationen.

Ah, tack för upplysningen Ska tänka på det nästa gång jag ska lägga in kommentarer någonstans.

Visa signatur

Citera mig om du vill att jag ska hitta till ditt svar.
airikr.me /device:desktop. Andra projekt: Keizai, Koroth & Serenum.

Permalänk
Medlem

I går lanserade jag budgetsidan och uppdaterade integritetspolicyn om den.

Gällande integritetspolicyn, om någon här kan verkligen sin sak gällande GDPR, integritetspolicys, och mer inom det området, är policyn för Keizai korrekt? Alltså, kan den anses som lagligt giltig eller hur man nu ska kalla det?

Visa signatur

Citera mig om du vill att jag ska hitta till ditt svar.
airikr.me /device:desktop. Andra projekt: Keizai, Koroth & Serenum.

Permalänk
Medlem

Nu kan man dela objekt till andra användare Man får även ett gäng alternativ om vad som ska delas, till exempel om inbetalningsnumret och OCR-numret ska delas till användaren. Lite finslip kvar att göra (och möjligtvis buggfixande här och var), men grunden är i alla fall klar.

Visa signatur

Citera mig om du vill att jag ska hitta till ditt svar.
airikr.me /device:desktop. Andra projekt: Keizai, Koroth & Serenum.

Permalänk
Medlem

En enkel förbättring (kanske personlig preferens dock)

<section id="website" style="min-width: 100%; justify-content: center;">

I övrigt gillar jag designen dock - simpel men stilren.

Visa signatur

10700K | NVIDIA RTX 3080

Permalänk
Medlem
Skrivet av kwame:

En enkel förbättring (kanske personlig preferens dock)

<section id="website" style="min-width: 100%; justify-content: center;">

I övrigt gillar jag designen dock - simpel men stilren.

Jag kan ju lägga in en funktion som låter besökaren och användaren avgöra var webbsidan ska vara placerad (till vänster eller i mitten). Tack för tipset

Tack

Visa signatur

Citera mig om du vill att jag ska hitta till ditt svar.
airikr.me /device:desktop. Andra projekt: Keizai, Koroth & Serenum.

Permalänk
Medlem

God kväll.

Nu ska delningsfunktionen fungera precis som förväntat Har bland annat lagt in så att man inte endast kan dela en viss summa av beloppet, utan även kunna sätta ett procenttal på objektets belopp. Exempel: en utgift har beloppet 500 kr och ägaren till objektet delar det till en användare med att 50% av beloppet ska delas. Mottagaren kommer då se 250 kr istället för 500 kr.

Ändringsloggar: eb8383e1ef + 4 fixningar: 16b27e40db, 730e667206, da6aaf4b5b och f212e2a2cf.

Och förra veckan lanserade jag automatisk framflyttning av återkommande utgifter, och då från inställningar-sidan (under "Period"). Ni kan se ändringsloggen för detta här.

Vad som är planerat (inte hela listan):
- Ett demokonto (lansering: antingen slutet av den här månaden, eller nästa månad)
- Delning av ett objekt via en offentlig länk (endast de med länken kommer kunna se objektet) (lansering: antingen slutet av den här månaden, eller nästa månad)
- Förbättrad startsida innan man loggar in (lanserad: så snart som möjligt)
- Exportering till ett Excel-blad (lansering: ej prioriterad, så kanske slutet av det här året)
- Använda SQLite istället för MySQL (smidigare i och med self-hosting) (lansering: ej prioriterat, men möjligtvis nästa månad)

Länk till Keizai: https://keizai.se/

Lade till möjliga lanseringar för de planerade funktionerna
Visa signatur

Citera mig om du vill att jag ska hitta till ditt svar.
airikr.me /device:desktop. Andra projekt: Keizai, Koroth & Serenum.

Permalänk
Medlem

Ny månad, nya funktioner. Har nu petat in följande:

  • Startsida berättar och visar upp funktionerna för vad man kan göra som inloggad.

  • Ett demokonto. Läs mer: https://codeberg.org/airikr/Keizai/src/branch/main/README.md#...

  • Exportering till en XLSX-fil. Excelbladet är dock inte helt färdigt än då jag vill göra så att man kan hantera valutaomvandlaren. Annars är Excelbladet fullt anpassningsbart. Har även planer att kunna importera en XLS(X)-fil, men det är något jag inte kommer fokusera på nu.

  • Fler mörka teman, och webbsidan ändrar temat automatiskt innan man sparar ändringarna. Har planer att göra detsamma för språket.

  • Ta skärmdumpar på utvalda element, till exempel detaljerna för en utgift.

  • Delningsfunktionen har blivit förbättrad.

Visa signatur

Citera mig om du vill att jag ska hitta till ditt svar.
airikr.me /device:desktop. Andra projekt: Keizai, Koroth & Serenum.

Permalänk
Skrivet av Airikr:

Ny månad, nya funktioner. Har nu petat in följande:

  • Startsida berättar och visar upp funktionerna för vad man kan göra som inloggad.

  • Ett demokonto. Läs mer: https://codeberg.org/airikr/Keizai/src/branch/main/README.md#...

  • Exportering till en XLSX-fil. Excelbladet är dock inte helt färdigt än då jag vill göra så att man kan hantera valutaomvandlaren. Annars är Excelbladet fullt anpassningsbart. Har även planer att kunna importera en XLS(X)-fil, men det är något jag inte kommer fokusera på nu.

  • Fler mörka teman, och webbsidan ändrar temat automatiskt innan man sparar ändringarna. Har planer att göra detsamma för språket.

  • Ta skärmdumpar på utvalda element, till exempel detaljerna för en utgift.

  • Delningsfunktionen har blivit förbättrad.

Tjo igen! Jag loggade med demo-uppgifterna och kikade runt. En tanke som slog mig är att det kanske hade varit praktiskt om under "Översikt" det fanns en "Lägg till utgift", "Lägg till skuld", etc. precis nedanför deras rubriker innan deras summering visas. Då slipper man ett extra klick/tryck för att komma till samma knapp. Om vi tänker att man vill vara effektiv och så loggar man in och kommer till "Översikt" och då kan man bara klicka/trycka på det som ska läggas till, man lägger till och så är man klar för dagen.

Eventuellt då kombinera detta med att under Inställningar ha kryssalternativ för huruvida sådana knappar ska synas eller inte. Blir ju "bara" en boolean att kontrollera för huruvida knappen ska synas under respektive rubrik eller inte under respektive rubrik på "Översikt".

Vad använde du förresten för lösning för att exportera ut till Excel-fil? Något färdigt kodbibliotek för det?

Mycket bra köttat för övrigt!

Mvh,
WKL.

Visa signatur

<WKL:"En kodrad i taget!";/>

Permalänk
Medlem
Skrivet av WebbkodsLärlingen:

Tjo igen! Jag loggade med demo-uppgifterna och kikade runt. En tanke som slog mig är att det kanske hade varit praktiskt om under "Översikt" det fanns en "Lägg till utgift", "Lägg till skuld", etc. precis nedanför deras rubriker innan deras summering visas. Då slipper man ett extra klick/tryck för att komma till samma knapp. Om vi tänker att man vill vara effektiv och så loggar man in och kommer till "Översikt" och då kan man bara klicka/trycka på det som ska läggas till, man lägger till och så är man klar för dagen.

Eventuellt då kombinera detta med att under Inställningar ha kryssalternativ för huruvida sådana knappar ska synas eller inte. Blir ju "bara" en boolean att kontrollera för huruvida knappen ska synas under respektive rubrik eller inte under respektive rubrik på "Översikt".

Vad använde du förresten för lösning för att exportera ut till Excel-fil? Något färdigt kodbibliotek för det?

Mycket bra köttat för övrigt!

Mvh,
WKL.

Hellu.

Tack för idén Har inte tänkt på det. Lägger till idén till min att göra-lista.

Använder mig av PhpSpreadsheet

Hehe, danke

Visa signatur

Citera mig om du vill att jag ska hitta till ditt svar.
airikr.me /device:desktop. Andra projekt: Keizai, Koroth & Serenum.

Permalänk
Medlem
Skrivet av WebbkodsLärlingen:

Tjo igen! Jag loggade med demo-uppgifterna och kikade runt. En tanke som slog mig är att det kanske hade varit praktiskt om under "Översikt" det fanns en "Lägg till utgift", "Lägg till skuld", etc. precis nedanför deras rubriker innan deras summering visas. Då slipper man ett extra klick/tryck för att komma till samma knapp. Om vi tänker att man vill vara effektiv och så loggar man in och kommer till "Översikt" och då kan man bara klicka/trycka på det som ska läggas till, man lägger till och så är man klar för dagen.

Eventuellt då kombinera detta med att under Inställningar ha kryssalternativ för huruvida sådana knappar ska synas eller inte. Blir ju "bara" en boolean att kontrollera för huruvida knappen ska synas under respektive rubrik eller inte under respektive rubrik på "Översikt".

Tillagt Se https://codeberg.org/airikr/Keizai/commit/e938b7d20715e4fb665...

Visa signatur

Citera mig om du vill att jag ska hitta till ditt svar.
airikr.me /device:desktop. Andra projekt: Keizai, Koroth & Serenum.

Permalänk
Medlem

Projektet ser riktigt bra ut!
Tycker det finns en drös av översiktsappar, men aldrig hittat någon bra.

Lilla jag kikat så tycker jag denna har goda förutsättningar

Keep up the good work!

Visa signatur

CPU [Ryzen 7 3800XT] GPU [Red Devil RX 5700 XT 8GB]
PSU [Antec HCG Gold 750W]
MOBO [MSI B550-A Pro]
Chassi [Phanteks Entoo Pro M]

Permalänk
Medlem
Skrivet av iFerz:

Projektet ser riktigt bra ut!
Tycker det finns en drös av översiktsappar, men aldrig hittat någon bra.

Lilla jag kikat så tycker jag denna har goda förutsättningar

Keep up the good work!

Man tackar så mycket

Visa signatur

Citera mig om du vill att jag ska hitta till ditt svar.
airikr.me /device:desktop. Andra projekt: Keizai, Koroth & Serenum.