Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
a34b4b8
first commit
zoufishanmehdi Oct 10, 2015
6a7279e
Started working on the storyboard
zoufishanmehdi Oct 10, 2015
1e6623c
Added Parse pod and Created Custom classes
mesbekmek Oct 11, 2015
351fc42
animation added
zoufishanmehdi Oct 12, 2015
ed4f9fb
sign up deets added
zoufishanmehdi Oct 12, 2015
4e2f8df
Added Pop podfile
mesbekmek Oct 12, 2015
473cd7c
Merge branch 'master' of https://github.com/zoufishanmehdi/unit-2-fin…
mesbekmek Oct 12, 2015
833d0eb
Made password fields secure and made sure the checks for password fie…
mesbekmek Oct 12, 2015
c1a422e
Added pickerview datasource
mesbekmek Oct 12, 2015
13d184c
made entry cards clickable
mesbekmek Oct 12, 2015
0b81744
working on grid cells
zoufishanmehdi Oct 13, 2015
bd04752
Transition from grid cell to question detail view controller
mesbekmek Oct 13, 2015
714343a
Working version of grid cells and detail view controller, questions l…
mesbekmek Oct 13, 2015
660e2ed
worked on QuestionDetailVC UI and passing data back to landing pg
zoufishanmehdi Oct 13, 2015
e585b9f
storyboard
mesbekmek Oct 13, 2015
f9fb9ca
able to pass answer frm VC to QuestionDetailVC
zoufishanmehdi Oct 13, 2015
b54b33a
view controller
mesbekmek Oct 13, 2015
f5ce0fb
changes
mesbekmek Oct 13, 2015
d4a0dd1
Nothing much
mesbekmek Oct 13, 2015
6c35ea4
Main pg pickerview and create habit working
zoufishanmehdi Oct 14, 2015
9bf3b9f
got the home screen after sign up working
mesbekmek Oct 14, 2015
75785c6
Added functional menu
mesbekmek Oct 14, 2015
a645b77
Menu
mesbekmek Oct 15, 2015
891f8d2
Functioning shared model dictionary for answers
mesbekmek Oct 16, 2015
4a5eab5
Pods added
zoufishanmehdi Oct 16, 2015
78f3f98
pods added
zoufishanmehdi Oct 16, 2015
150d604
merge conflict fixed
zoufishanmehdi Oct 16, 2015
f64708a
Signup/Login Flow as well as saving objects to a user
mesbekmek Oct 16, 2015
985fff3
merge fixed
zoufishanmehdi Oct 16, 2015
50f8d1c
Made major changes
mesbekmek Oct 16, 2015
cdc72fe
Merge branch 'master' of https://github.com/zoufishanmehdi/unit-2-fin…
zoufishanmehdi Oct 16, 2015
7766ddd
Huge changes
zoufishanmehdi Oct 17, 2015
16eefc3
awesome sauce
zoufishanmehdi Oct 17, 2015
6a522d3
awesomer stuff
zoufishanmehdi Oct 17, 2015
5081b91
changed the context menu
mesbekmek Oct 18, 2015
ec0351a
Fixed animation for context menu
mesbekmek Oct 18, 2015
ebf13a3
fixed look of context menu ui
mesbekmek Oct 18, 2015
fc1181d
Working version of NYTimes API
zoufishanmehdi Oct 19, 2015
9c78d15
Weather api working
mesbekmek Oct 20, 2015
139cb03
Weather api working on simulator
mesbekmek Oct 20, 2015
0afabaf
started adding fonts and colors
zoufishanmehdi Oct 20, 2015
e13d50e
merge conflict fixed fingers crossed
zoufishanmehdi Oct 20, 2015
fdb7f8f
I'm done
mesbekmek Oct 20, 2015
b97f09b
local changes
mesbekmek Oct 20, 2015
4dfad57
final push
mesbekmek Oct 20, 2015
ff5a497
semi final version working
zoufishanmehdi Oct 21, 2015
6a9c58b
breaking bad looks badass
zoufishanmehdi Oct 21, 2015
fae2e9d
Added Time Ago Pod
mesbekmek Oct 21, 2015
b51c831
question audio and breaking bad home pg custom animation added
zoufishanmehdi Oct 22, 2015
7d0276f
quotes added to myHabitsTVC
zoufishanmehdi Oct 22, 2015
911fd24
disabled speech in reareadOnly mode
mesbekmek Oct 22, 2015
d20865a
final commit from me
mesbekmek Oct 22, 2015
c6cda62
final changes ie fixing custom animation
zoufishanmehdi Oct 22, 2015
f8ac992
final changes from me hopefully
zoufishanmehdi Oct 22, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Binary file added BreakingBad/.swp
Binary file not shown.
652 changes: 652 additions & 0 deletions BreakingBad/BreakingBad.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions BreakingBad/BreakingBad.xcworkspace/contents.xcworkspacedata

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

25 changes: 25 additions & 0 deletions BreakingBad/BreakingBad/AppDelegate.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
//
// AppDelegate.h
// BreakingBad
//
// Created by Zoufishan Mehdi on 10/10/15.
// Copyright © 2015 Zoufishan Mehdi. All rights reserved.
//

#import <UIKit/UIKit.h>
#import <CoreData/CoreData.h>

@interface AppDelegate : UIResponder <UIApplicationDelegate>

@property (strong, nonatomic) UIWindow *window;

@property (readonly, strong, nonatomic) NSManagedObjectContext *managedObjectContext;
@property (readonly, strong, nonatomic) NSManagedObjectModel *managedObjectModel;
@property (readonly, strong, nonatomic) NSPersistentStoreCoordinator *persistentStoreCoordinator;

- (void)saveContext;
- (NSURL *)applicationDocumentsDirectory;


@end

159 changes: 159 additions & 0 deletions BreakingBad/BreakingBad/AppDelegate.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
//
// AppDelegate.m
// BreakingBad
//
// Created by Zoufishan Mehdi on 10/10/15.
// Copyright © 2015 Zoufishan Mehdi. All rights reserved.
//

#import "AppDelegate.h"
#import <Parse/Parse.h>
#import "BBUser.h"
#import "Habit.h"
#import "Goal.h"
#import "Entry.h"

@interface AppDelegate ()

@end

@implementation AppDelegate


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

//
// //Font
// NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]];
// NSArray *fontNames;
// NSInteger indFamily, indFont;
// for (indFamily=0; indFamily<[familyNames count]; ++indFamily)
// {
// NSLog(@"Family name: %@", [familyNames objectAtIndex:indFamily]);
// fontNames = [[NSArray alloc] initWithArray:
// [UIFont fontNamesForFamilyName:
// [familyNames objectAtIndex:indFamily]]];
// for (indFont=0; indFont<[fontNames count]; ++indFont)
// {
// NSLog(@" Font name: %@", [fontNames objectAtIndex:indFont]);
// }
// }
//
[BBUser registerSubclass];
[Entry registerSubclass];
[Goal registerSubclass];
[Habit registerSubclass];
[Step registerSubclass];

[Parse setApplicationId:@"4OUoEnBvW5xaxzLgWkDtZN31dFJoIduWBvB03o36" clientKey:@"aKDf8JmSXdA8PFp8wNdmi0cxiY6Nf4z7yXIgPjya"];

return YES;


}

- (void)applicationWillResignActive:(UIApplication *)application {
// Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
// Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
}

- (void)applicationDidEnterBackground:(UIApplication *)application {
// Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
// If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
}

- (void)applicationWillEnterForeground:(UIApplication *)application {
// Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
}

- (void)applicationDidBecomeActive:(UIApplication *)application {
// Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
}

- (void)applicationWillTerminate:(UIApplication *)application {
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
// Saves changes in the application's managed object context before the application terminates.
[self saveContext];
}

#pragma mark - Core Data stack

@synthesize managedObjectContext = _managedObjectContext;
@synthesize managedObjectModel = _managedObjectModel;
@synthesize persistentStoreCoordinator = _persistentStoreCoordinator;

- (NSURL *)applicationDocumentsDirectory {
// The directory the application uses to store the Core Data store file. This code uses a directory named "nyc.c4q.zoufishanmehdi.BreakingBad" in the application's documents directory.
return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
}

- (NSManagedObjectModel *)managedObjectModel {
// The managed object model for the application. It is a fatal error for the application not to be able to find and load its model.
if (_managedObjectModel != nil) {
return _managedObjectModel;
}
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"BreakingBad" withExtension:@"momd"];
_managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
return _managedObjectModel;
}

- (NSPersistentStoreCoordinator *)persistentStoreCoordinator {
// The persistent store coordinator for the application. This implementation creates and returns a coordinator, having added the store for the application to it.
if (_persistentStoreCoordinator != nil) {
return _persistentStoreCoordinator;
}

// Create the coordinator and store

_persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"BreakingBad.sqlite"];
NSError *error = nil;
NSString *failureReason = @"There was an error creating or loading the application's saved data.";
if (![_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&error]) {
// Report any error we got.
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
dict[NSLocalizedDescriptionKey] = @"Failed to initialize the application's saved data";
dict[NSLocalizedFailureReasonErrorKey] = failureReason;
dict[NSUnderlyingErrorKey] = error;
error = [NSError errorWithDomain:@"YOUR_ERROR_DOMAIN" code:9999 userInfo:dict];
// Replace this with code to handle the error appropriately.
// abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}

return _persistentStoreCoordinator;
}


- (NSManagedObjectContext *)managedObjectContext {
// Returns the managed object context for the application (which is already bound to the persistent store coordinator for the application.)
if (_managedObjectContext != nil) {
return _managedObjectContext;
}

NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator];
if (!coordinator) {
return nil;
}
_managedObjectContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSMainQueueConcurrencyType];
[_managedObjectContext setPersistentStoreCoordinator:coordinator];
return _managedObjectContext;
}

#pragma mark - Core Data Saving support

- (void)saveContext {
NSManagedObjectContext *managedObjectContext = self.managedObjectContext;
if (managedObjectContext != nil) {
NSError *error = nil;
if ([managedObjectContext hasChanges] && ![managedObjectContext save:&error]) {
// Replace this implementation with code to handle the error appropriately.
// abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
}
}

@end
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"images" : [
{
"idiom" : "iphone",
"size" : "29x29",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "29x29",
"scale" : "3x"
},
{
"idiom" : "iphone",
"size" : "40x40",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "40x40",
"scale" : "3x"
},
{
"idiom" : "iphone",
"size" : "60x60",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "60x60",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
6 changes: 6 additions & 0 deletions BreakingBad/BreakingBad/Assets.xcassets/Contents.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"info" : {
"version" : 1,
"author" : "xcode"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "Delete-50.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"filename" : "Delete Filled-50.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "Positive Dynamic-50.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"filename" : "Positive Dynamic Filled-50.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "clear-day@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "clear-night@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading