--- /dev/null
+Development tools
+=================
+
+Plat/al relies on a few tools and base libraries.
+
+Django
+------
+
+Our base framework, we're using the latest released version (currently 1.5.1).
+Feel free to browse its excellent documentation at https://docs.djangoproject.com/
+
+
+Bootstrap
+---------
+
+Our web layout relies on Twitter's Bootstrap framework.
+We use a minified version based on Bootstrap v2.2.2.
+
+The documentation is available at http://twitter.github.com/bootstrap/.
+
+
+factory_boy
+-----------
+
+For testing, we rely on `FactoryBoy <http://factoryboy.rtfd.org>`_.
+This library allows to define custom "factories" for each model,
+which ease populating the database (in ``xnet.datasets``) or writing tests:
+
+.. code-block:: python
+
+ class SomeTestCase(unittest.TestCase):
+ def test_disabled_account(self):
+ # Get a disabled account, don't bother filling any required field.
+ account = factories.AccountFactory(is_active=False, password='foo')
+
+ self.assertFalse(
+ auth.authenticate(account.username, 'foo'))