www.mobilevikings.com
Inside the Drakkarthe making of Mobile Vikings
by Gert, Ingo & Jef
www.mobilevikings.com
Mobile Vikings facts• Mobile operator since Feb 1, 2009
• Started with 1000 users and has grown since
• 2500 invitation requests
• 6350 total lines of Python code
• Total usage of 27,05 GiB used last month
www.mobilevikings.com
Overview
•Technology•Website•Backend
www.mobilevikings.com
Technology stack•Django 1.0
• Apache 2
•MySQL 5
• Server
www.mobilevikings.com
Django•What?
•Web framework encouraging DRY-principle
• Python
•Model-Template-View (MVC-like)
• Focus on reusability
•More info: djangoproject.com
www.mobilevikings.com
Server•One virtualized machine
• Plenty of room for scaling
•Debian
www.mobilevikings.com
Website philosophyEverything via the web
•Become a customer
•Get your SIM card
• Top-ups (PayPal, …)
•Realtime call history
• Important information (SIM number, PUK, credit balance, SMS alerts)
www.mobilevikings.com
Website philosophy (2)Feedback == important!
•We strive to create a better user experience…
•… so give us your feedback!
www.mobilevikings.com
Backend•Connection to BASE
• SIM management
•Bundles
• Top-ups
•Helpdesk
• SMS alerts (upcoming feature)
www.mobilevikings.com
Django and Mobile Vikings• Allows us to create reliable, complex yet
maintainable web applications and sites in no time
• Pretty URL’s (E.g. /myviking/credit/)
• Makes use of Python, which is more explicit; this gives clarity. Existing code has an easy learning curve.
• Powerful templating system with inheritance
• Built-in support for internationalization
www.mobilevikings.com
Django and Mobile Vikings (2)• Django helped us to cope with constantly changing
situations (many new features, data model changes, complete rewrites of parts)
• Abstraction to external API’s
• E.g. support for multiple SMS gateways
• Easy and fast deployment
• Supports iterative development
• Clean, but readable code
www.mobilevikings.com
Clean code
Models define:• Database tables• Object-Relational Mapper• HTML forms (including basic validation)• a part of the REST API
Our SIM model:
www.mobilevikings.com
Made with Django• mobilevikings.com
• glowe.org
• gloweme.com
• …
www.mobilevikings.com
Questions?