05Własna aplikacja

WorkLog

Wiesz, dokąd poszła każda godzina: dzień pracy zamienia się we wpisy, projekty, klientów, wartość i raport.

Rok
2026
Dziedzina
Oprogramowanie
WorkLog / WIDOK PRODUKTU01
Pulpit WorkLog z działającym timerem: dzisiaj, ten tydzień i sprawy wymagające uwagi — dane demonstracyjne
Pulpit WorkLog z działającym timerem: dzisiaj, ten tydzień i sprawy wymagające uwagi — dane demonstracyjne

Problem do uporządkowania.

Freelancerom i małym studiom nie wystarcza liczba przepracowanych godzin. Muszą wiedzieć, do którego klienta należy czas, co można zafakturować, który projekt zbliża się do budżetu i co trafi na kolejną fakturę. WorkLog zaczął się w 2024 roku jako prototyp do rejestrowania czasu pracy; przebudowaliśmy go od podstaw w pełny produkt do śledzenia czasu dla projektów i klientów.

02Realizacja

Jak łączą się elementy.

Pracę rejestruje się timerem działającym na czasie serwera albo wpisuje później jako początek i koniec lub sam czas trwania. Wpisy należą do klientów, projektów i zadań, mają tagi i oznaczenie rozliczalności. Tygodniowy arkusz pokazuje dni poniżej dziennego celu, a pulpit podsumowuje dzień, tydzień i sprawy wymagające uwagi. Raporty filtrują, grupują, zapisują i eksportują te same dane, łącznie z zestawieniem gotowym do faktury. Przestrzenie robocze dodają role, zaproszenia przez link i opcjonalne tygodniowe akceptacje. Przebudowana aplikacja działa na Next.js z Neon Postgres, zabezpieczeniami na poziomie wierszy i Neon Auth.

03Wewnątrz systemu

Pod powierzchnią interfejsu.

01

Timer, który nie policzy czasu dwa razy

Server time / Postgres unique index

Czas startu zapisuje serwer, więc działający timer przetrwa odświeżenie strony, zamknięcie karty czy zmianę urządzenia. Częściowy unikalny indeks w bazie danych dopuszcza najwyżej jeden działający timer na osobę, a start i stop są idempotentne.

02

Pieniądze, które nie zmieniają historii

Integer minor units / Rate precedence

Kwoty są zapisywane jako liczby całkowite w najmniejszych jednostkach waluty. Stała kolejność wybiera stawkę: wpis, członek projektu, projekt, klient, członek przestrzeni, przestrzeń. Stawka zostaje zapisana przy każdym wpisie, więc późniejsza zmiana stawki nie zmienia wcześniejszych raportów.

03

Uprawnienia egzekwowane poniżej interfejsu

Row-level security / Roles

Dane przestrzeni roboczej chroni mechanizm row-level security w Postgres. Właściciele, administratorzy, menedżerowie i członkowie widzą różny zakres danych; członkowie widzą swoje godziny, a stawki i wartości są usuwane na serwerze, zanim dane trafią do ich przeglądarki.

05Zakres realizacji

Działająca aplikacja do śledzenia czasu z timerem po stronie serwera, tygodniowymi arkuszami, klientami, projektami, budżetami i stawkami, raportami z eksportem CSV i zestawieniami do faktur, przestrzeniami zespołowymi z rolami i akceptacjami oraz importem CSV i pełnym eksportem danych.

Dalej / Twój projekt

Podobne wyzwanie?

Pomysł, wąskie gardło, system, któremu nie wystarczają obecne narzędzia. Powiedz nam, na jakim jesteś etapie.

Opowiedz nam o tym