felixge edited this page Sep 12, 2010 · 18 revisions
Clone this wiki locally

Hey everybody! We will use this Wiki to plan the application we are going to build for the workshop.

The Basic Idea

The basic idea is to build an application that allows to store and browse collections of unix command combinations. You know stuff like:

Make a compressed db backup: mysqldump medcafe --opt | bzip2 > 2008-08-25.sql.bz2
Restore db from backup: bzcat 2008-08-25.sql.bz2 | mysql medcafe
Delete all jpg files from git repo: find . -type f -name '*.jpg' | xargs git rm -f

Those snippets will be stored as follows:


snippets: See the examples like ‘Make a compressed db backup’ above
|. field |. type |. comment |
| id | char 36 | – |
| name | varchar 255 | The title of the snippet |
| user
id | char 36 | – |
| created | datetime | – |
| updated | datetime | – |

commands: All known unix commands we can index (ls, cd, xargs, bzcat, sed, …)

field type comment
id char 36
name varchar 255 The title of the command
user_id char 36
parent_id char 36 ‘git remove’ is an alias of ‘git-remove’. In order to manage duplicate commands we need to reference the original parent command
created datetime
updated datetime

snippet_commands: Join table for all snippet commands

field type comment
id char 36
snippet_id char 36
command_id char 36

users: The users of the system

id char 36
email varchar 255
pass varchar 255
created datetime
updated datetime