presentation

23
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

Upload: jantofel

Post on 19-Jan-2016

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Presentation

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

Page 2: Presentation

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

Page 3: Presentation

Introduction

Lukas Majercak, Gun Pinyo, Jan Tofel () ShareBill Project June 19, 2014 3 / 23

Page 4: Presentation

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

Page 5: Presentation

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

Page 6: Presentation

Mystery Receipt ...

Lukas Majercak, Gun Pinyo, Jan Tofel () ShareBill Project June 19, 2014 6 / 23

Page 7: Presentation

or even MORE

Lukas Majercak, Gun Pinyo, Jan Tofel () ShareBill Project June 19, 2014 7 / 23

Page 8: Presentation

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

Page 9: Presentation

Solution - ShareBill Project

Lukas Majercak, Gun Pinyo, Jan Tofel () ShareBill Project June 19, 2014 9 / 23

Page 10: Presentation

Demonstration

Lukas Majercak, Gun Pinyo, Jan Tofel () ShareBill Project June 19, 2014 10 / 23

Page 11: Presentation

GO TO

http://sharebillproject.appspot.com/

Lukas Majercak, Gun Pinyo, Jan Tofel () ShareBill Project June 19, 2014 11 / 23

Page 12: Presentation

Project Management

Lukas Majercak, Gun Pinyo, Jan Tofel () ShareBill Project June 19, 2014 12 / 23

Page 13: Presentation

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

Page 14: Presentation

Use git as version control

Lukas Majercak, Gun Pinyo, Jan Tofel () ShareBill Project June 19, 2014 14 / 23

Page 15: Presentation

Use git hub as repository

Lukas Majercak, Gun Pinyo, Jan Tofel () ShareBill Project June 19, 2014 15 / 23

Page 16: Presentation

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

Page 17: Presentation

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

Page 18: Presentation

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

Page 19: Presentation

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

Page 20: Presentation

Diagram

Lukas Majercak, Gun Pinyo, Jan Tofel () ShareBill Project June 19, 2014 20 / 23

Page 21: Presentation

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

Page 22: Presentation

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

Page 23: Presentation

Thank you for your attention!

Lukas Majercak, Gun Pinyo, Jan Tofel () ShareBill Project June 19, 2014 23 / 23