48h projekt – Jak stworzyć aplikację w weekend

PartyMixer Screen

Wstępniak

Dziś znów troszeczkę obok głownego tematu Bibliotekarza, ale z drugiej strony bardzo blisko tematu nowego systemu Bibliotekarz.NET WWW. Będąc szczęśliwym posiadaczem wolnego weekendu, mogłem poświęcić czas na pracę przy technologiach aplikacji internetowych. Temat o tyle ważny, że przy okazji jest rozpoznaniem ogniem możiwości technologicznych oraz hostingu jaki jest w tym przypadku niezbędny. Mój wybór padł na MVC 4, bazę danych SQL Server i hosting Windows Azure. O ile MVC 4 i SQL Server są dla mnie chlebem powszednim, to Windows Azure był nową przygodą, która o dziwo skończyła się bardzo miło. Jestem pod wrażeniem łatwości korzystania z tej usługi (niewielki zgrzyt pojawił się przy migracji danych z lokalnej bazy danych) i przejrzystości interfejsu.

Geneza aplikacji

Na pomysł projektu wpadłem w piątek wieczór, gdy zmęczony po tygodniu pracy zapragnąłem napić się "kolorowego" drinka. Skierowałem się do mojej skromnej półeczki anonimowego alkoholika w celu wybrania składników. Zmęczonym wzrokiem spojrzałem na zestaw różnokoloroych butelek i zrozumiałem, że nie mam pojęcia jaki drink mogę zrobić. Pomyślałem: jak zwykle czeka mnie godzina ślęczenia przed komputerem, szukaniem przepisów na drinki i być może ciągłym bieganiem i sprawdzaniem czy ja mam sok z grenadyny, czy ja mam alkohol Kahlua, czy ja mam kolejny egzotyczny składnyk drinka… Czy mieliście kiedykolwiek podobne uczucie?

Uznałem, że tak być nie może dłużej. Potrzebuję systemu, któremu powiem: ja w domu mam sok pomarańczowy, sok z limonki, cytrynę (ale mogę ją wycisnąć albo pokroić, więc mam sok z cytryny, plastry cytryny, ćwiartki cytryny), lód w kostkach (ale mogę go też pokruszyć jakby co, więc mam też kruszony), mam wódkę, rum, gin, wermut wytrawny… a Ty drogi systemie powiedz mi szybko co ja z tego mogę fajnego zrobić. I tak w 48h (około 14h pracy) powstał system: http://drinksmixer.azurewebsites.net/

Zasady działania

Podstawową ideę przestawiłem w poprzednim akapicie. Cechy jakie chciałem nadać aplikacji to: prostota i szybkość działania. Rola użytkownika sprowadza się do:

a) założenia konta
b) wybrania z gotowej listy, składników, które posiada już w domu
c) kliknięcia przycisku: Wyświetl listę drinków, które mogę zrobić.

Prostę prawda? Oczywiście funkcjonalność aplikacji może być rozszerzana o kolejne ciekawe funkcje, ale to jak zawsze wymaga czasu. Na dziś dzień jest dodatkowo udostępniona prosta przeglądarka drinków i możliwość dodawania drinków (bardzo prosty interfejs) przez użytkowników. W przyszłości system wzbogaci się o inteligentny system podpowiedzi: jakie składniki użytkownik powinien kupić aby zrobić jak najwięcej możliwych drinków, pojawią się kategoryzację drinków, będę chciał rozbudować zakres informacji widocznych na stronie opisującej sposób przygotowania napoju i wiele, wiele innych.

Pomoc poszukiwana

Siła systemu leży w bogactwie bazy danych drinków. Aktualnie wprowadziłem ich około 20, ale jest to żmudna praca i trochę szkoda mi czasu na to, jak mógłbym go poświęcić na rozwijanie funkcjonalności aplikacji. Dlatego bardzo chętnię nawiążę kontakt/współpracę z kimś kto uważa, że pomysł jest "zacny" i chętnie poświęci swój czas na rozbudowę bazy drinków i składników. Ktoś zainteresowany?

Link do systemu: http://drinksmixer.azurewebsites.net/ (aplikacja wyświetla dane po polsku lub angielsku w zależności od lokalizacji ustawionej w przeglądarce internetowej).

Zapraszam gorąco do komentowania pomysłu, co Wam się podoba, co się nie podoba.