From 94459eadb8f1dae635e43c99958d37977db720c7 Mon Sep 17 00:00:00 2001 From: Will Kahn-Greene Date: Sat, 30 Apr 2011 14:42:14 -0400 Subject: Changes beardomatic things to codebase things --- docs/codebase.rst | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 docs/codebase.rst (limited to 'docs/codebase.rst') diff --git a/docs/codebase.rst b/docs/codebase.rst new file mode 100644 index 00000000..2c73e7d3 --- /dev/null +++ b/docs/codebase.rst @@ -0,0 +1,65 @@ +.. _codebase-chapter: + +======================== + Codebase Documentation +======================== + +This chapter covers the libraries that GNU MediaGoblin uses as well as +various recipes for getting things done. + + +Software Stack +============== + +* Project infrastructure + + * `Python `_: the language we're using to write + this + + * `Nose `_: + for unit tests + + * `buildout `_: for getting dependencies, + building a runtime environment, ... + +* Data storage + + * `MongoDB `_: the document database backend + for storage + +* Web application + + * `Paste Deploy `_ and + `Paste Script `_: we'll use this for + configuring and launching the application + + * `WebOb `_: nice abstraction layer + from HTTP requests, responses and WSGI bits + + * `Routes `_: for URL routing + + * `Beaker `_: for handling sessions + + * `Jinja2 `_: the templating engine + + * `MongoKit `_: the lightweight + ORM for MongoDB we're using which will make it easier to define + structures and all that + + * `WTForms `_: for handling, + validation, and abstraction from HTML forms + + * `Celery `_: for task queuing (resizing + images, encoding video, ...) + + * `RabbitMQ `_: for sending tasks to celery + +* Front end + + * `JQuery `_: for groovy JavaScript things + + +Recipes +======= + +FIXME - write this -- cgit v1.2.3