Dan_Skorupski

Download Report

Transcript Dan_Skorupski

Direct Congress
Milestone II
Dan Skorupski
Tools
Django ("jang oh"): Web application framework
lxml: libxml2 bindings for XML/HTML parsing
Python: Programming language
sqlite ("sequel lite"): Embeddable SQL database
nginx ("engine x"): Lightweight web server
cron: Service for periodically running tasks on *nix systems
Everything swappable except Django/lxml
All this running on Debian
Prototype/script.aculo.us: Javascript libraries
Frontend design
Model-View-Controller (MVC) design pattern
• Supported by Django
• The model is the information held by the application
(stored in a database as tables of legislation, user
accounts, discussion threads, etc).
• The view is the user interface that presents the
information in the model.
• The controller responds to user interactions with the view
and updates the view and model accordingly.
Backend design
Will periodically run a Django script with cron that:
• Grabs web pages from Senate.gov, etc
• Parses them with lxml
• Interprets the data and adds new data to the database
Resources
There are numerous prebuilt Django applications:
• django-authopenid
• django-registration
• django-voting
• django-forum
• django-graphs
• django-yacaptcha
Timeline & tasks
1. Dan S: Study available info from data sources and work on
parsing the data and inserting it into the database in a
regular. Dan V: Work on building or integrating existing
user registration and profile system.
2. Dan S: Textual and graphical display of data. Dan V: Voting
and result analysis.
3. Dan S: Comment system. Dan V: Security (SSL, CAPTCHA)
4. Navigation and pulling everything together, user
friendliness.
5. Polish and looks, mobile version.