YumYum Commerce – Dlaczego? Co? Jak?

By | February 29, 2016

YumYum Commerce to projekt, nad którym będę pracował w ramach trwającego obecnie konkursu Daj Się Poznać 2016. Będzie on systemem e-commerce dedykowanym restauracjom/barom oferującym żarcie na dowóz. Poniżej znajdziecie kilka słów o tym skąd wziął się ten pomysł i jak planuję go realizować.

Dlaczego?

Wypadałoby zacząć od tego czym zajmuję się od kilku lat w kilku różnych firmach. Jest to obsługa CMSów różnych sklepów internetowych. Przez ten czas miałem do czynienia z kilkoma różnymi systemami i niestety, ale nie mogę powiedzieć, żeby chociaż połowa spełniała swoją rolę.

Czy wiedzieliście, że paczkę fajek możecie sprzedać tylko i wyłącznie za cenę wybitą na opakowaniu? W przypadku gdy w sklepie macie kategorię z papierosami i chcielibyście udostępnić klientom kod rabatowy, musiałby on dotyczyć wszystkich produktów za wyjątkiem tej jednej. Spotkałem się z podobnym kontekstem i CMS pozwalał na generowanie kodów rabatowych wyłącznie na cały asortyment lub pojedyncze kategorie. Rozwiązanie kompletnie niedopasowane do charakteru działalności.

Zwykła hurtownia może wymagać pewnych rozwiązań, które nie każdy CMS będzie oferował “out of the box”. A przecież będzie potrzeba przelicznika jednostek magazynowych (1 paleta = 10 kartonów = 100 szt. etc.), rozbudowanego systemu rabatowego z podziałem na kategorie, grupy klientów i producentów, a w przypadku współpracy z firmami zagranicznymi rozbudowanego cennika dostawy czy uwzględnienia stawek podatkowych, ceł, a nawet zakazów przesyłania pewnych towarów na tereny niektórych państw.

Czy istnieje jakikolwiek e-commerce CMS, który sprawdzi się w każdym kontekście? Ja takiego jeszcze nie widziałem. Nie spotkałem się również z dedykowanym gastronomii rozwiązaniem, a to co czasem widzę zamawiając żarcie online sprawia, że nierzadko mam ochotę zapłakać nad losem osoby, która musi ogarnąć niektóre systemy.

E-commerce dla restauracji jest specyficzną niszą i postanowiłem pociągnąć ten temat, by sprawdzić co uda mi się wydłubać.

Poza tym, jak nie uda mi się w karierze programisty, będę mógł otworzyć jakiś fast food. Skoro umiem gotować i będę miał już system… 😉

Co? 

YumYum będzie stosunkowo niewielką aplikacją napisaną w ASP.NET MVC. Plan według którego będę rozwijał projekt o nowe funkcjonalności przedstawię za chwilę. Podczas pracy na pewno skorzystam z następujących bibliotek:

  • Entity Framework
  • Autofac
  • Moq
Lista zapewne trochę urośnie po drodze, bo wciąż rozważam kilka różnych opcji na przyszłość, ale zaczynam od tej trójki. Być może lista będzie bogatsza za miesiąc-dwa.
Na pewno będę pisał o rzeczach, które dla niektórych będą oczywistymi podstawami. Jednak z pewnością będę chciał włączyć do projektu kilka narzędzi, których brakowało mi podczas pracy w e-commerce, uzasadnić dlaczego są potrzebne i przedstawić pewne kwestie z perspektywy innej niż sam kod.

Jak?
Nawet nie łudzę się, że zdołam zrealizować całość w ciągu 10 tygodni trwania konkursu. Dlatego też pracę mam zamiar podzielić sobie na etapy.

 

  1. Zapewnienie minimalnej funkcjonalności.

    Napisanie modelu danych i dostępu do nich, podstawowa funkcjonalność panelu admina, działający koszyk, ascetyczny frontend.

  2. Refaktoring.

    Na tym etapie będę chciał zrobić trochę porządku w kodzie bazując na Waszym feedbacku (mam nadzieję, że jakiś będzie 😉 ) i wnioskach do jakich dojdę podczas całego pierwszego etapu.

  3. Nowa funkcjonalność.

    Im dłużej o tym myślę, tym bardziej jestem przekonany, że poprzednie dwa etapy będą tylko wstępem. To tutaj będę chciał znajdować się przez większość czasu i realizować takie funkcjonalności jak przesyłanie współrzędnych GPS dostawcy, integracje z dostawcami płatności online, statystyki i pewnie mnóstwo innych rzeczy, które w takiej aplikacji byłyby choć trochę użyteczne.

Będę szczery. Nie wiem czy po konkursie Daj Się Poznać będę kontynuował pracę i dociągnę projekt do końca w takiej formie w jakiej sobie to wymyśliłem. Może skończyć się udostępnieniem działającego produktu, może skończyć się rozpoczęciem go jeszcze raz i wykorzystaniem tylko kilku napisanych elementów, może nawet zostać przerobiony na zupełnie inny projekt wykorzystujący pewne elementy. Przed nami kupa czasu i nie chcę robić dokładnych planów na każdą ewentualność. Jedyne czego jestem pewien to fakt, że przez ten czas się naprawdę wiele nauczę.