Compare commits
	
		
			2 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| cc162109d2 | |||
| 6d232050e3 | 
							
								
								
									
										20
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								README.md
									
									
									
									
									
								
							| @ -1,27 +1,9 @@ | ||||
| Week 3 Day 1 | ||||
| MVC | ||||
| ============ | ||||
| Schedule Today: | ||||
|  | ||||
| Morning | ||||
| ------- | ||||
| Weekend Projects Review and Refactor   | ||||
| Monty Hall Problem   | ||||
|  | ||||
| Afternoon | ||||
| --------- | ||||
| Bank Software   | ||||
| SQL Challenge   | ||||
|  | ||||
| #### Resources | ||||
|  | ||||
| [Optimizing SQL queries](http://beginner-sql-tutorial.com/sql-query-tuning.htm) | ||||
|  | ||||
| [A cool article about your git history](http://mislav.uniqpath.com/2014/02/hidden-documentation/) | ||||
|  | ||||
| [Reading for tonight - the coffee maker problem](http://www.objectmentor.com/resources/articles/CoffeeMaker.pdf) | ||||
|  | ||||
| #### Homework | ||||
|  | ||||
| Finish up your assignments for today.   | ||||
| [Also, read this](http://www.objectmentor.com/resources/articles/CoffeeMaker.pdf) | ||||
|  | ||||
|  | ||||
| @ -1,19 +0,0 @@ | ||||
| Your Own Private Bank | ||||
| ====================== | ||||
|  | ||||
| Welcome back! In this challenge you'll be creating a rich Python terminal app emulating bank software. | ||||
|  | ||||
| ###Step 1: Database   | ||||
| Our DB schema for this challenge is simple. For now, we only need two tables - Users and accounts. A user can have many accounts. Users should have at minimum a username to log in to the app, a time when they were created, and a permissions level. An account should have a number and a balance. Design the schema in SQL designer if it helps you. | ||||
|  | ||||
| There's a file called create_db.py - write your sql that creates the db in there to keep everything organized. | ||||
|  | ||||
| ###Step 2: Our program models | ||||
| We need two different classes for users - a client, and a banker. A client should be able to view all their accounts, deposit and withdraw funds to and from their OWN accounts, and transfer money from their OWN accounts to another user account. A banker should be able to create accounts, deposit and withdraw funds from ANY user account, and transfer money between ANY two user accounts. A banker should not have any accounts (no co-mingling of funds) and a person should not see the superuser options that bankers have. How you want to design this is up to you. See [inheritance](http://www.jesshamrick.com/2011/05/18/an-introduction-to-classes-and-inheritance-in-python/) | ||||
|  | ||||
| I also strongly recommend that you have another class (see [static methods](https://julien.danjou.info/blog/2013/guide-python-static-class-abstract-methods)) or a module that handles only reading and writing to the database.  | ||||
|  | ||||
| ###Step 3: Controller and Views | ||||
| Stick to the MVC pattern - No spaghetti code! Keep your code dry. There's alot of user choice options which could be alot of if/else statements - can you think of a better way? | ||||
|  | ||||
| Present a nice clean interface to the user for the options they are allowed to perform. Some extra account details would be nice to display - some ideas are how long the user has been a member of the bank, which banker created their account, etc. | ||||
| @ -1,2 +0,0 @@ | ||||
| import bank_models | ||||
| import bank_views | ||||
| @ -1 +0,0 @@ | ||||
| import sqlite3 | ||||
| @ -1 +0,0 @@ | ||||
| import sqlite3 | ||||
| @ -1,17 +0,0 @@ | ||||
| Loan or No Loan? | ||||
| ================ | ||||
|  | ||||
| Here is some people's last month bank statements. Query the database to answer the questions. Write methods to return all of the information to you. Don't do this manually. | ||||
|  | ||||
| * How many people are there in the database? | ||||
| * What is each persons salary (return their name and salary)? | ||||
| * What is each persons net income? | ||||
| * How about their highest expense? | ||||
| * What percent of their salary did they spend? | ||||
| * What was the average price of their expenses (don't include salary)? | ||||
| * How many expenses did each person have? | ||||
| * How many things did each person buy in the first week of the month? How much money did they spend? | ||||
| * How about in the last week? | ||||
| * Print everything bought between $40 and $60. | ||||
| * Using the mortgage calculator you built before (some adjustments will need to be made), how large of a house could each person afford on a 15 year mortgage at 4%, if they plan on saving $200 a month (assuming they keep their jobs and spend the same amount). | ||||
| * Write the database to a csv. | ||||
										
											Binary file not shown.
										
									
								
							
		Reference in New Issue
	
	Block a user