Code Documentation
Table of Contents
This documentation is specific to BILUMI's main website. Documentation for other applications is here.
Skip To Specific Pages
- Model API, Mixins (including ratings and aggregate ratings, actions, visits, states, tags and slugs)
- Javascript
- AJAX
- Specifications for (Url Name, Variables, Template) triples
Overview
The diagram on the right presents a high level overview of our application's server/client components.
Our server hosts a permanent storage system (eg, MySql, sqlite3, PostgreSQL) and an instance of the BILUMI backend. The backend consists of python, django template html and static media such as css and javascript. We use the Django web framework to abstract database calls and HTTP requests and responses.
The backend can be broken down into the following modules:
- An additional abstraction layer (model mixins) on top of Django models. These provide
- An API for getting and adding data
- Calculations of ratings and status (not yet implemented)
- View logic (could also be thought as a controller between template and database)
- Data system for controlling information flow between BILUMI and external databases (currently specific to SMS app)
- User interface components
Software
Our system is built using these components.
- Apache - open-source HTTP server
- Python
- Django - high level Python Web framework
- Django HTML templating language - templating perspective, python perspective, url dispath
- HTML - Hyper Text Markup Language
- CSS - Cascading Stylesheet
- Javascript
- JQuery - The write less, do more javascript library - API, selectors
- rssparser - Ultra-liberal RSS parser
Helpful toosl:
- Firebug and Firebug lite
- Firefox view source (apple-u or ctrl-u) and error console
- web developer
- grep
- twill - A simple scripting language for Web browsing
- django-evolution - An extension to Django that allows you to track changes in your models over time, and to update the database to reflect those changes
Source Code
Our Django project is rooted in /huginmunin/trunk/web/hm
The rest of the paths on this page are relative to this location in the repository.
| directory | description |
| / | project root, urls root file |
| env/ | user specific project settings |
| db/ | django database models, calculations, fixtures, solr |
| app/ | root url file |
| app/media/ | static media; eg, css, flash, javascript, images |
| app/views/ | url and view files |
| app/templates/ | template files |
| app/lib/ | helpers (eg json stuff) |
| lib/ | middleware, patches |
Attachments
- sys_overview.jpg (29.7 KB) - added by lucy 2 years ago.
- DjangoJukeBox.jpg (85.4 KB) - added by lucy 2 years ago.
- sys_overview_details.jpg (39.9 KB) - added by lucy 2 years ago.
