What the two babies share

by Derek Sivers

Related link: http://www.cdbaby.com

Just thinking out loud, which components of CD Baby will be the *exact* same as Filmbaby - and where it will differ. Trying to help me decide how to approach programming these at the same time.

* = exactly the same
~ = very similar
! = different

* customer
* cart
~ recommendation engine
* client
* item(abstract)
* inventory (multiple warehouses)
* payment
* shipping/postage calculation
* email notification
! album < item
! movie < item
* merch < item
! songs (for albums)
! cast+credits (for movies)

!~ site browsing methods (new arrivals, top sellers = same. by genre & flavor = similar. by location = N/A.)
* search engine abstract (including caching)
~ search engine specifics (music versus film)
* front-page & featured

* language (approach - though different files)
* dynamic web config (name, css)
* template system
* database connection
* session-management (customer login/memory)
* url parsing (key/value/value)
* hits/traffic log

Existing members.cdbaby can be copied exactly, except:
Slight difference in signing up movie versus album.
No digital distribution.

Existing office.cdbaby.com can be copied exactly, except:
No free CD assigner
No digital distribution section needed
No swiper section
No compilations
Think about how to do employee thing : same as CD Baby? How to split expense?
No Tower Records thing

ORGANIZING (filesystem/CVS):
/baby = classes shared between both, kept in exactly in sync with CVS even after sites are up and active
/cdbaby = cdbaby-only classes
/filmbaby = filmbaby-only classes