Trochu jsem uklízel na disku a objevil staré verze eshopu. Vcelku jsem se pobavil, když jsem koukal například na databázi. Zároveň jsem ale pochopil, proč si spousta lidí myslí, že eshop je hračka, která jde naprogramovat za víkend.
Když se nad tím zamyslíte, tak je eshop skutečně velmi jednoduchá aplikace. Co vlastně potřebujete? Tabulku na zboží, kategorie, objednávky, položky košíku. To je vše. Takže 4 tabulky, pár tříd. Práce na chvilku. Jenže pak zjistíte, že chcete mít zboží ve více kategoriích. Není problém, přidáme tabulku. Pak zjistíte, že chcete textové stránky editovat nějak hezky – šup, další tabulka. A co parametry zboží? To je přece hezká funkce – šup dalších cca 6 tabulek. Začínáme prodávat trička a je potřeba vést velikosti – hopla další tabulka. A trička mají každé vlastní cenu – hop tabulka a překopat celý systém. Expandujeme na Slovensko, jsou potřeba jazykové verze. Takže ke každé tabulce ještě jednu s texty. Eshop dohromady nic moc neumí a už jsme na tabulkách zhruba dvaceti.
Je spousta věcí, které ještě chci v eshopech Simplia mít a přitom už jsme stovku tabulek v databázi překročili před několika měsíci. Jsem docela zvědav na kolika se zastavíme. Ale myslet si, že vývoj někdy skončí je čistá naivita. Pořád přichází něco nového a pořád se musí vylepšovat.
Ano, je mi jasné, že porovnávat schopnosti aplikace podle počtu tabulek je nesmysl. Ale pobavilo mě, když jsem objevil prapůvodní pre-alfa verzi se čtyřmi tabulkami :)


16:54 on Září 25th, 2009
Z jakého data pochází pre-alfa verze ?
17:01 on Září 25th, 2009
Řekl bych, že tak 4-5 let
22:45 on Září 25th, 2009
Normalne by som chcel zo zvedavosti vidiet tu DB schemu a asi aj celkovy navrh aplikacie, cez 100 tabuliek nie je malo ;).
22:50 on Září 25th, 2009
head: Tak to samozřejmě ukazovat nebudu :o)
23:21 on Září 25th, 2009
Vsak to mi je jasne ;)
15:33 on Září 26th, 2009
No 100 tabulek uz mi prijde docela hodne, ale na druhou stranu, pokud maji vsichni klienti jednu databazi, tak asi ano. Vetsinou se projekty komplikuji tim, ze vsichni chteji aby to bylo univerzalni, databaze normalizovana, atd.
Popravde jsem se na tohle u nasich projektu vytetntil. Protoze kdybych mel vsechno psat tak jak se to „spravne ma“, tak bych nektere projekty nespustil doted, nebo o nekolik mesicu pozdeji. Za tech nekolik mesicu ale uz muzou klidne vydelat na preprogramovani od zacatku, jenze to uz se nikomu nechce, kdyz uz to jede. ;)
A tak se to bastli od zacatku do konce… teda zatim asi zadny nas projekt neskoncil, tak nevim ;)
15:43 on Září 26th, 2009
Radim: Všichni mají stejnou strukturu, pokud jsi to tak myslel.
U nás se naštěstí od začátku podařilo udržet, že se všechno píše poměrně univerzálně a kupodivu jde všechno dělat rychle. Sláva OOP a dobrému návrhu. Ale když jsem tuhle vrtal v databázi ručně, tak jsem se docela zapotil, než jsem si dal dohromady jak je všechno se vším propojené.
A k tomu přepisování. Je pravda, že se eshop přepisuje neustále. Ale ne že by se stará verze nahradila novou, ale funguje to za běhu. Po dvou letech se zkrátka přijde k nějaké části a řekne se „Tohle by šlo udělat jinak. Teď už víme, že není moc zájem o to o co jsme původně mysleli“. Některé části, jako třeba třída pro práci s databázi ale zůstávají prehistorické, protože tam zkrátka není co vymýšlet.
Onoje taky něco jiného, pokud máš projekt jeden (resp několik různých) nebo jeden nasazuješ vícekrát. Tam je paknejvětší zabiják, když je každá instalace v jiné verzi a časem se od sebe jen vzdalují
21:52 on Září 26th, 2009
Souki: víš co vám závidím? že to znáte od začátku a znáte to jak své boty. Já teď předělával nákupní proces v eshopu. Hrůza, nejvíce času zabralo vůbec zjišťování jak a co je kde propojeno. Tolik nadávavek jsem už dlouho nepoužil.
Vlatní úprava pak byla už docela snadná.
K databázi: koukal jsem do svýho, ten má 146 tabulek, ale spoustu funkcí eshopu jeste nevyužívám takže leží ladem.
04:36 on Září 27th, 2009
Patrik: Když jsem psal, kolik máme tabulek (teď jsme tuším někde na 115), tak jsem si říkal: „kolik asi má zencart“. A hlavně: „kolik jich asi má jen proto, že je navržený debilně“ :)
A k těm úpravám. Abych pravdu řekl, tak databázi už nezná asi nikdo. Už je to prostě moc velká. Všichni jednoduše používají $zbozi->nazev = „Kočárek 1″, a že tenhle příkaz způsobí dotaz přes 10 tabulek už nějak nikdo neřeší. To řeší systém a všichni jsme líní. Ale když je potřeba něco vysledovat, tak to je nářez. Nejlepší by bylo asi házet drobečky :)
Dřív třeba šlo hledat problém tak, že se vzalo id zboží a vypsalo se z tabulky zbozi. Teď tam vidím kulové, protože název je v jiné (podle jazyka), cena taky v jiné (podle kódu) a tak dále. Lidským okem už se zkrátka pozná prdlajs. Samozřejmě – daly by se použít pohledy apod. Ale to už většinou svádí ke zkratkám, které nejsou příliš efektivní
00:11 on Září 30th, 2009
No, naštěstí nemám zencart.-))
10:17 on Říjen 5th, 2009
Musim rict ze moje upravena presta mam 126 tabulek a krom affilu ji nechybi nic. A co se tyce struktury myslim ze docela hodne slusna.