presentation
TRANSCRIPT
ShareBill Project
Lukas Majercak Gun Pinyo Jan Tofel
Department of Computing
Imperial College London
June 19, 2014
Lukas Majercak, Gun Pinyo, Jan Tofel () ShareBill Project June 19, 2014 1 / 23
Overview
1 Introduction
2 Demonstration
3 Project Management
4 Choice of LanguageBack-endFront-end
Lukas Majercak, Gun Pinyo, Jan Tofel () ShareBill Project June 19, 2014 2 / 23
Introduction
Lukas Majercak, Gun Pinyo, Jan Tofel () ShareBill Project June 19, 2014 3 / 23
Money, Goods, and Flatmates
Nowadays, lots of students andemployees decide to live togetherin shared accommodation.
Most of the time they have tobuy something that they willshare together, but usually onlyone pays for it.
Lukas Majercak, Gun Pinyo, Jan Tofel () ShareBill Project June 19, 2014 4 / 23
Bills Clearing
Once they buy it, they may be too lazy to clear the debts immediately.
This is because the amount of money one owes has to be calculated.
Moreover, they might not have enough cash on them.
Thus, lots of groups of people agree to keep the receipts and clear thedebts periodically.
Lukas Majercak, Gun Pinyo, Jan Tofel () ShareBill Project June 19, 2014 5 / 23
Mystery Receipt ...
Lukas Majercak, Gun Pinyo, Jan Tofel () ShareBill Project June 19, 2014 6 / 23
or even MORE
Lukas Majercak, Gun Pinyo, Jan Tofel () ShareBill Project June 19, 2014 7 / 23
How to solve this problem ?
We need something that is
Able to remember details of payments
Able calculate total net instantly
Lukas Majercak, Gun Pinyo, Jan Tofel () ShareBill Project June 19, 2014 8 / 23
Solution - ShareBill Project
Lukas Majercak, Gun Pinyo, Jan Tofel () ShareBill Project June 19, 2014 9 / 23
Demonstration
Lukas Majercak, Gun Pinyo, Jan Tofel () ShareBill Project June 19, 2014 10 / 23
GO TO
http://sharebillproject.appspot.com/
Lukas Majercak, Gun Pinyo, Jan Tofel () ShareBill Project June 19, 2014 11 / 23
Project Management
Lukas Majercak, Gun Pinyo, Jan Tofel () ShareBill Project June 19, 2014 12 / 23
License
We decided to use BSD license for our project,
since we do not do this for commercial purpose.
Lukas Majercak, Gun Pinyo, Jan Tofel () ShareBill Project June 19, 2014 13 / 23
Use git as version control
Lukas Majercak, Gun Pinyo, Jan Tofel () ShareBill Project June 19, 2014 14 / 23
Use git hub as repository
Lukas Majercak, Gun Pinyo, Jan Tofel () ShareBill Project June 19, 2014 15 / 23
Delegation
Lukas Majercak and Jan Tofel
working on server side as paired programming
write all of back-end code (more detail on back-end slide)
provide a simple protocol for front-end
Gun Pinyo
working on client side
write most of front-end code (more detail on front-end slide)
improve web-interface to be user friendly
Lukas Majercak, Gun Pinyo, Jan Tofel () ShareBill Project June 19, 2014 16 / 23
Back End
Use Google AppEngine with Python as the main engine as Back-end
Use Webapp2 as framework
Use NDB non-relational database as database
Lukas Majercak, Gun Pinyo, Jan Tofel () ShareBill Project June 19, 2014 17 / 23
Choice of Language
PythonDeveloping in Python from scratch is very fast
Maturity of the language + Open Source
Comprehensiveness of standard libraries
Multiple frameworks available
Popular language - A lot of resources on the web
We did not care too much about the speed of our application
Lukas Majercak, Gun Pinyo, Jan Tofel () ShareBill Project June 19, 2014 18 / 23
Choice of Language
Google AppEngineMultiple front-ends with one back-end
Supports Python
NDB databaseStructured (Tree-like)
Easy and fast to get all from same parent
Lukas Majercak, Gun Pinyo, Jan Tofel () ShareBill Project June 19, 2014 19 / 23
Diagram
Lukas Majercak, Gun Pinyo, Jan Tofel () ShareBill Project June 19, 2014 20 / 23
Front End
Jinja2 templating language
HTML 5, CSS 3 and jQuery
Bootstrap 3
Lukas Majercak, Gun Pinyo, Jan Tofel () ShareBill Project June 19, 2014 21 / 23
jinja2Ability to use Python variables & functions in HTML
Templates to reduce redundancy in HTML
BootstrapVery powerful & customizable
Easily comprehensible
Lukas Majercak, Gun Pinyo, Jan Tofel () ShareBill Project June 19, 2014 22 / 23
Thank you for your attention!
Lukas Majercak, Gun Pinyo, Jan Tofel () ShareBill Project June 19, 2014 23 / 23