Technology
Filmaster is built using the Django framework and Python programming language. It is designed to use PostgreSQL database engine and run on GNU/Linux (but MS Windows operating system for development is also supported).
Modules
The project is divided into modules. The key modules are:
- config (not a real module, just some configuration files, most important being the url translation infrastructure - TODO describe on a new page)
- core (all core classes like Film, Person, Rating, etc)
- blog (personal blogs)
- useractivity (aggregating different activities like comments, blolg entries and short reviews into one generic entity: user activities. Powers The Planet)
- recommendations (all the core connected with computing and displaying of film recommendations and other similar components)
- event (special events management, like user voting for the Academy Awards)
- import_ratings (import ratings insfrastructure, currently supposrted are: Criticker and IMDB)
- utils (generic-use utilities)
We also use a few modules borrowed from other projects (mainly on BSD license):
- account (registration and login in) - external component borrowed from the Pinax project
- userprofile (displaying the user profiles) - external component, requires refactoring and cleanup
- friends and friends_app (comrades management) - external components borrowed from the Pinax project
- tagging (all tagging stuff) - external component, heavily modified for our purposes
- threadedcomments (all comments) - external component, heavily modified for our purposes
- django_openidauth and django_openidconsumer (open ID logging infrastructure)
- messages (private messages) - external component borrowed from the Pinax project
- pagination (enhances pagination) - external component borrowed from the Pinax project
Modules not currently used (but planned):
- bbauth
- gravatar
- timezones
- voting