Miło mi się pochwalić, że udało mi się ukończyć taki skromny projekt (który chciałem ukończyć przed świętami, ale jeszcze się okazało, że parę drobiazgów jest do poprawy więc z różnych przyczyn wyszło trochę po), który przygotowałem trochę w ramach treningu programistycznego w nowej pracy, a trochę bo po prostu coś takiego było mi osobiście potrzebne. Chodzi mianowicie o prostą aplikację/bazę danych, która pomoże mi połapać się w moich zapasach części RC oraz czynnościach przeglądowo-naprawczych moich modeli. Coś takiego zresztą i tak do tej chwili prowadziłem w zwykłych arkuszach google-docs, ale stwierdziłem, że to mało wygodne, i tak powstały proste założenia do nowej apki:
- baza modeli z możliwością wprowadzenia opisów, setupów, zdjęć, zadań do zrobienia przy modelu, trackowania historii zmian, wrzucania zdjęć
- baza części z możliwością przypisywania do modeli, wrzucania zdjęć, określania ilości, stanu zużycia, opakowania, ceny (jeśli przeznaczona na giełdę)
- dodatki typu słownik producentów, posiadanych magazynów (np. pudełek, w których trzymane są części dla łatwiejszego ich znajdowania itp.)
- smaczki typu własna tapeta, ochrona hasłem, interfejs webowy i mobilny (do użytkowania np. na polu)
Obecna wersja w zasadzie powyższe spełnia, a na dniach/tygodniach jeszcze pewnie pojawi się kilka dodatkowych ficzerów, z których na pewno nie zrezygnuję
- szybkie przypisywanie lotu akumulatorom i modelom (może nawet przez jakieś naklejane QR-kody) żeby szybko na polu zanotować sobie dany lot (i zliczać loty per model i per pakiet) + ewentualna możliwość uploadu logów danego lotu
- pobieranie opisów modeli w formacie HTML lub proste API do współpracy z CMS-ami stron wyświetlających naszą flotę
- szybkie generowanie HTML i/lub BBCODE dla części, które mamy na sprzedaż (fotki, ceny, opisy, stan zużycia itp.)
- dokładniejsze filtrowanie listy części np. po danym modelu, producencie itp.
- współdzielenie baz z innymi userami, udostępnianie nawzajem swoich stanów magazynowych
Zresztą dla zainteresowanych: zawsze aktualny opis aktualnych i przyszłych funkcjonalności jest dostępny w zakładce w aplikacji (ikonka "Informacja").
Link do aktualnej i działającej wersji: http://www.zborecque.pl/zbrc/
Początkowo program był projektowany na zasadzie oddzielnej bazy danych instalowanej na serwerze (jeden użytkownik = jedna instalacja, coś jak np. forum WWW). Ale koniec końców stanęło na modelu bazy w chmurze: logujemy się za pomocą loginu (lub emaila) i hasła, które wcześniej są rejestrowane jako konto (podobnie jak np. konto na forum) Powód powstania i używania takiej bazki - w moim przypadku - jest głównie taki, że wielokrotnie już złapałem się na tym, że zamówiłem część, którą już miałem (ale zapomniałem o tym albo nie zauważyłem w pudle); poza tym chciałem mieć w jednym miejscu informacje o moich obecnych i przeszłych modelach i ich setupach. Nie wspominając już, że jak chciałem gdzieś wystawić kramik z częściami na sprzedaż, to wpisywanie opisów/cen/nazw/fotek to zawsze była katorga. Często też na polu podczas lotów zauważałem jakąś drobnostkę do naprawienia przy modelu, i... zapominałem. Laptopa nie zawsze miałem ze sobą, żeby zapisać, a w telefonie włamywać się w do arkuszy google to mało wygodne. Prosta apka z ładnym interfejsem być może ułatwi zapisanie sobie że jest do sprawdzenia jakaś pierdoła w domu.
Co sądzicie w ogóle o takim pomyśle? Przydatne i ułatwiające życie, czy może bardziej "jak ktoś się nie będzie pilnował i sumiennie uzupełniał to nawet i taka bazka nie pomoże mu ogarnąć swojej floty RC"?
Wydaje mi się, że widziałem parę takich online'owych (i nie tylko) rozwiązań, ale jakoś mi nie podpasowały, zresztą skoro poczułem się na siłach pisać coś własnego, to w końcu stwierdziłem, że czemu nie?
Zapewne wiele jeszcze bugów będzie wychodziło w trakcie użytkowania, ale planuję użytkować bazę dość intensywnie, więc jest szansa, że sam wiele wyłapię.
A poniżej w dużym skrócie instrukcja i idea użytkowania (chociaż starałem się tak tworzyć interfejs, żeby był "samowyjaśnialny"):
- rejestracja konta / aktywacja (login/email/hasło)
- najpierw uzupełniamy słowniki producentów, stanów zużycia, magazynów i rodzajów pakowania (są już zresztą wstępnie powpisywane przy rejestracji, ale wiadomo, każdy chce po swojemu)
- potem dodajemy modele
- potem dodajemy sobie części (i przypisujemy do modeli)
- zawsze można sobie coś do bazy dodać później, i później do tego czegoś coś przypisać (np. dodać model bez producenta, a potem dopiero dodać do listy producentów np. "KDS", a na koniec wrócić do modelu i mu przypisać "KDS" itp.)
- mając już wpisany model - można go ustawić np. jako "archiwalny" (będzie się wyświetlał na niebiesko i na dole listy)
- mając już wpisany model - można dodawać mu zadania do zrobienia (np. "wymienić zębatkę"), i oznaczać je np. jako "uziemiające" - co spowoduje, że model mający takie zadania i nie oznaczone jako "zrobione" - będzie się wyświetlał na żółto
- zmieniając coś w opisie modelu - domyślnie zmiana nie zapisze się w historii, chyba, że zaznaczymy "zapisz w historii" - czyli zmiana jest znacząca i chcemy później widzieć, że np. tego dnia zmienił się ESC-MOTOR w heliku
- w samych częściach jeszcze za wiele nie ma - ot, można je sobie kasować, edytować, zmieniać zdjęcie itp. Potem jak już ich trochę jest - można wyszukiwać prostą wyszukiwarką. Docelowo tutaj się pojawi parę udogodnień (o czym było wyżej).
Update 11.01.2018 / v. 0.9.2:Dzisiaj zaktualizowałem aplikację do
wersji 0.9.2, z większych zmian:
- można dodawać swojego avatara
- nieco zmienione menu profilu
- można udostępniać innym swoją bazę
- można przeglądać bazy innych (jeśli nam udostępnili).
Skrócona instrukcja używania nowych ficzerów:
- po zalogowaniu pojawia się w prawym górnym rogu nasz login i avatar
- klikając na login rozwinie się menu, wybieramy tam Mój Profil
- po prawej pojawi się nasz avatar, z małą ikonką edycji. Kliknięcie na ikonkę pozwoli na wgranie nowego obrazka
- nie ma żadnych ograniczeń co do obrazka, wiadomo, że jak będzie min. 300x300 px i w miarę "kwadratowy" to będzie wyglądał najładniej,
- w tym samym miejscu w prawym dolnym rogu jest przycisk wyświetlający udostępnienia
- w okienku pojawią się użytkownicy, którym udostępniamy SWOJĄ bazę + jest tam pole do dodawania nowego użytkownika
- przy każdym użytkowniku na tej liście jest ikonka kosza - klikamy jej aby usunąć udostępnienie danemu użytkownikowi (którego wcześniej tam umieściliśmy)
- usunięcie udostępnienia jest natychmiastowe - jak ten ktoś jest w trakcie oglądania naszej bazy to mu z niej "wyskoczy"
- aby przeglądać bazy innych (którzy to NAM udostępnili) otwieramy menu główne (tam gdzie są modele, części itp.) - i klikamy "Inni użytkownicy"
- jeśli ktokolwiek nam udostępnił - zobaczymy tam loginy i ikonkę OCZKO obok każdego loginu
- klikamy na OCZKO i jesteśmy w trybie oglądania cudzej bazy
- w trybie cudzej bazy zawsze na górze mamy przypomnienie + link do powrotu do własnej bazy (przekreślone OCZKO)
Przeglądanie cudzej bazy jest zawsze w trybie READ-ONLY i dotyczy tylko modeli i części. Dane słownikowe nie są pokazywane, ale jeśli ktoś przegląda nasze modele, albo części, i mamy tam uzupełnionego producenta, rodzaj pakowania, magazyn itp - to inni użytkownicy to oczywiście zobaczą. Czyli nawet jak w mojej bazie nie mam producenta Align, ale inny user, którego bazę właśnie przeglądam - takiego producenta ma - to zobaczę Align przy każdym modelu i części, która ma ustawionego tego właśnie producenta.
D
odatkowo - udostępnianie dostępów nie jest symetryczne! Czyli jak zborecque udostępnił swoją bazę dla miruuu - to nie oznacza, że jednocześnie może oglądać jego bazę
Update 26.01.2018 / v.0.9.3:- okienko do udostępniania jest wygodniejsze w użyciu, wyświetla wszystkich userów wraz z przełącznikami. Komu chcemy udostępnić - temu klikamy na On
- pod okienkiem z userami są dwa przyciski - do szybkiego ustawienia wszystkich na On albo na Off (taki bajerek)
- pod powyższymi jest duży przełącznik - udostępniaj zawsze i każdemu. Jego użycie (On) spowoduje, że od tej pory nasza baza będzie udostępniana dla każdego zarejestrowanego usera, bez względu co mamy zaznaczone na liście powyżej. Lista powyżej zresztą się rozmyje i zablokuje, żeby zasugerować, że chwilowo jest "nadpisana" innym ustawieniem. Jeśli kiedyś będziemy chcieli sobie to "Zawsze i każdemu" wyłączyć - to nasza lista userów się odblokuje i będzie tam ustawione tak samo jak było kiedyś (czyli zachowane zostają "odptaszkowania")
- na dole jeszcze jest dodatkowy przycisk - "pokazuj bazę publicznie". Oznacza to, że nasza baza jest widoczna RÓWNIEŻ bez zalogowania. Użycie tego przełącznika - tak jak wyżej "freezuje" nam listę userów + dodatkowo blokuje przełącznik "Zawsze i każdemu" w pozycji On :
Update 25.02.2018 / v.0.9.5:- dochodzi możliwość oznaczania części jako "pakiet"
- część "pakiet" może być opisana jako "typ (LiPo, LiFe, itp.), pojemność, C, V, ilość lotów wcześniejszych"
- można rejestrować loty modeli
- do każdego lotu można przypisać pakiet (lub pakiety)
- pakietom w podsumowaniu wyświetla się łączna ilość lotów (liczona jako ta wpisana "z palca" - jako loty wcześniejsze + loty zliczane już w bazie)
- ilość lotów podawana "z palca" przy pakietach służy do podawania ile lotów ma pakiet zanim zaczęliśmy mu liczyć loty w bazie (gdy kupiliśmy używany, albo wiemy ile latał zanim zaczęliśmy liczyć loty w bazie)
- każdy lot można edytować (z wyjątkiem pakietów i modelu oraz daty lotu): można edytować czas lotu, miejsce, uwagi, załączniki (dodawanie usuwanie)
- załączniki wyświetlają się jako miniaturki (gdy są fotkami) lub jako linki (dla pozostałych plików)
- loty wprowadzane są za pomocą "wizarda" - w 3 krokach najpierw wybieramy model > potem pakiety i ew. szczegóły > opcjonalnie upload plików
- w każdym modelu widać listę jego lotów, loty można "otwierać" aby zobaczyć więcej szczegółów.
Później dojdzie jeszcze możliwość ustawienia domyślnego czasu i miejsca lotu (aby uzupełniał się sam w wizardzie) + trochę wygodniejszy widok lotów (jak już będzie dużo lotów, to wyświetlanie ich w widoku w modelu będzie uciążliwe - wygodniejsza będzie wielka lista na całą stronę + możliwość jej esportu np. do CSV/XLS). Docelowo zapewne dojdzie też możliwość edycji pakietów i daty dla już wprowadzonego lotu (aby móc edytować pomyłki) + ewentualnie możliwość przepięcia lotu do innego modelu.