Zgodnie z zapowiedzią w poprzednim wpisie (o prokrastynacji), postanowiłam wziąć udział w konkursie Daj się poznać organizowanym przez Macieja Aniserowicza z bloga devstyle.
Oznacza to, że w ciągu najbliższych dwóch miesięcy (lub do odwołania) dwa razy w tygodniu będę publikowała tu wpisy na temat mojego projekciku open source. Zrobi się trochę bardziej technicznie. Mam nadzieję, że nie pociągnie to za sobą exodusu Czytelników zaglądających tu w poszukiwaniu lżejszych tekstów okołoprogramistycznych. Postaram się zachować przyjazny ton.
Na co mi to?
Jedno słowo: motywacja.
Cztery słowa: najlepiej pracuję pod presją.
Wielu przyjaciół naiwnie wierzy w moje nieprzebrane pokłady ambicji i samozaparcia. W rzeczywistości, jak uczeń z oślej ławki, robię coś tylko wtedy, kiedy wiem, że ktoś na pewno mnie sprawdzi. W związku z tym pracę nad każdym większym przedsięwzięciem (nie przepadam za słowem „projekt”, chociaż akurat tu akurat pasuje) rozpoczynam od poszukiwań sprawdzacza.
Bądź moim sprawdzaczem.
Jeśli ktoś pokusi się o merytoryczne komentarze i podpowiedzi: tym lepiej dla mnie.
A na co mi sam blog? O tym chyba tutaj: O mnie.
Mój pomysł: szafbook

Opis problemu
- Mam dużo ubrań, a ciągle chodzę w tych samych, bo nie pamiętam, co jest w dolnych pokładach mojej szafy.
- Mam trochę ubrań na wymianę – z których wyrosłam 😉 ja lub moje dziecko.
Rozwiązanie i zarys funkcjonalności
Wymyśliłam sobie aplikację, która umożliwi mi skatalogowanie zawartości szafy oraz jej przeszukiwanie, a także udostępnienie jej zawartości znajomym i ewentualną wymianę bądź wypożyczenia.
Szkic wymagań:
- Użytkownik zarządza jedną lub więcej szafami.
- Dodaje do szafy ubrania wraz ze zdjęciami i krótkim opisem. Ubrania są umieszczane w odpowiedniej kategorii (ręcznie lub poprzez analizę tekstu, a w bajkowej wersji full-wypas także przez analizę obrazu). Metadane muszą, oczywiście, zawierać rozmiar.
- Użytkownik może udostępnić szafę do przeglądania komuś ze swoich znajomych.
- Możliwe są wymiany i wypożyczenia.
- Dostępne jest semantyczne wyszukiwanie, np. „wszystkie czarne topy” albo „szalik pasujący do tego swetra”.
Technologie
Przyznam, że kusiła mnie szaleńcza idea stworzenia aplikacji webowej w Haskellu. Ostatecznie doszłam jednak do wniosku, że wolę uzupełnić swoją coraz bardziej dziurawą wiedzę na temat Javy. To mój ulubiony język programowania, a nie dotykałam go właściwie od dwóch lat (ponieważ wybór zajęć determinowała dziedzina, a nie preferencje programisty). W tym czasie tworzyłam za to kod w: Perlu, Pythonie, C++, Rubym, R.
Dlatego mimo że JEE to temat nudny i oklepany, tym właśnie chcę się zająć. Wśród rzeczy, których chcę użyć, nauczyć się, przypomnieć sobie lub o nich napisać, są:
- Java 8,
- jakiś framework webowy, pewnie Spring Boot,
- microservices (?),
- Maven,
- jakieś narzędzie do analizy statycznej,
- JUnit,
- Git/GitHub,
- jakieś darmowe narzędzie do ciągłej integracji, pewnie Jenkins,
- jakieś narzędzie do przetwarzania danych RDF/OWL,
- któraś nierelacyjna baza danych,
- Android w dalekiej, dalekiej przyszłości 🙂
Mój pomysł podoba mi się, bo:
- Mogę rozwiązać istniejący problem (być może tylko mój).
- Bardzo rzadko mam okazję pisać coś od zera.
- Zorientuję się, co się dzieje w Javie.
- To przedsięwzięcie da się przekuć w serię przyjaznych wpisów na temat różnych technologii.
- Wszystko to trochę wygłup. Zawsze w cenie.
Mój pomysł nie podoba mi się, bo:
- Temat jest „dziewczyński”.
- Technologie, których chcę użyć, są pospolite.
- Od strony technicznej to nic odkrywczego.
- Wątpię, żebym w czasie trwania konkursu była w stanie wyprodukować aplikację wartą pokazania.
Informacje techniczne
- Wpisy konkursowe będę oznaczać tagiem daj się poznać.
- GitHub: https://github.com/1nk4/szafbook
- www: http://szafbook.pl/
PS.
Zespół cieśni nadgarstka to najwyraźniej przypadłość nie tylko czynnych programistów i pracowników linii produkcyjnych, ale także młodych matek noszących coraz cięższego stwora.
