Did you know FaceySpacey is the creator of Redux-First Router and Universal?

The Startup Incubator.
Your one stop social media shop
Resource Categories:

Non-Technical
Technical
Refer A Friend
Popular Articles
DEVELOPMENT TOOLS 1 - VERSION CONTROL (Mercurial)
CONTRACTING 2 - TOP 10 EASY SITE CREATOR TOOLS
Subscribe
-
Non-Technical
-
Speccing
-
PRODUCT SPECCING 1 - OVERVIEW OF HOW WE SPEC AT FACEYSPACEY PRODUCT SPECCING 2 - SCOPE OPTIMIZATION PRODUCT SPECCING 3 - INTRO TO BUILDING PAGE LAYOUTS PRODUCT SPECCING 4 - FINDING INFLUENCES PRODUCT SPECCING 5 - ORGANIZED WRITTEN SPECS PRODUCT SPECCING 6 - TASK ORGANIZATION & BUGTRACKING (Fogbugz) TECH SPECCING 1 - OVERVIEW TECH SPECCING 2 - DATABASE DESIGN TECH SPECCING 3 - APPLICATION ARCHITECTURE TECH SPECCING 4 - SPRINT PLANNING (And More on Fogbugz)
- TECH SPECCING 2 - DATABASE DESIGN
TECH SPECCING 2 - DATABASE DESIGN
So what does the tech speccing itself look like more precisely? Well, first it’s all about designing your database. To do so, you need to find all the entities in your product, i.e. stores, users, videos, articles, coupons, campaigns, status updates, checkins, the relationship between these entities and each other, and build database tables to store their corresponding data. Then you add columns to these tables to hold that data. Modeling a database for these types of Web 2.0 applications really isn’t that difficult, especially if you’re product is specced out well before hand.
The hard part will be pinpointing special relationships between your main tables, and creating additional tables that don’t have clear names like “store” or “user.” For example, if you want to list all the users that edit an article, you’ll need an “edit” table that associates a user row with an article row and has a column for the date/time of the edit. It’s not a crazy concept to experienced developers by any means, but the point is that there will be harder to pinpoint “junction” tables like this. If you’ve kept your product to a minimum there will be very few of these. One way to know you’re doing too much is if you have too many junction tables. Junction tables fyi typically represent “many to many” relationships, i.e. where an article can have many users that edit it, and each user can edit many articles. For example with SnackSquare, we had junction tables like “CouponStore,” “CustomerMerchant,” “CustomerStore,” etc. There is ways to get around needing these junction tables. The main one is to plan a simpler product that doesn’t need to present every single metric to the end user. Junction tables often embody extra bonus info. Forget that bonus info for your initial launch.
The final thing you should do is generate a diagram of your database. You can easily generate a diagram of your MySQL tables using MySQL Workbench. Here's an example:
Related Entries
- PRODUCT SPECCING 1 - OVERVIEW OF HOW WE SPEC AT FACEYSPACEY
- PRODUCT SPECCING 2 - SCOPE OPTIMIZATION
- PRODUCT SPECCING 3 - INTRO TO BUILDING PAGE LAYOUTS
- PRODUCT SPECCING 4 - FINDING INFLUENCES
- PRODUCT SPECCING 5 - ORGANIZED WRITTEN SPECS
- PRODUCT SPECCING 6 - TASK ORGANIZATION & BUGTRACKING (Fogbugz)
- TECH SPECCING 1 - OVERVIEW
- TECH SPECCING 2 - DATABASE DESIGN
- TECH SPECCING 3 - APPLICATION ARCHITECTURE
- TECH SPECCING 4 - SPRINT PLANNING (And More on Fogbugz)
Comments

SMM 3 - FORMULA TO FIND INFLUENCERS