Friday, November 18, 2016

Week 9 Accomplishments

      For this week, I wanted to work on connecting both of my apps to the database and test some of those functions, but I did not get very far with that goal. But I was able to finish creating all of the pages for each app, and even though a couple of the pages still need some work, I am happy to at least have something set up for them.

      For my Android app, I created a Contact Us page and a Help menu pop up. The Contact Us page took a while because I had to figure out how to use a MapView. And then I tried using a Geocoder in the app, but it would randomly fail, so I decided to just hard code the latitude and longitude for where the marker would appear on the map. There is also a link that opens the number for the Alumni Association in a calling window, and the link with the address opens up Google Maps. The Help menu is simply a list of things that the user can do with the app. I was to have icons with my help menu, and it is not quite laid out correctly yet, but I was just happy I got something to be able to pop up. I also was able to go a bit farther with my database connection than I was last week, and now, the app calls the database and returns all of the users. It is not something I am probably going to do with the actual app, but I just wanted to be able to text the Async functions and I needed something simple to test it with.

       For the Apple app, I did not create any more pages, but I did try to fix a few of the pages that were having some layout troubles. I still do not understand XCode's layout system, because I would do the exact same thing on all of the pages for the layout and it would work on some of them but not all of them. But overall, I am happier with how the layout works than what I was before, so that is good. I still need to set up my HTTP client so I can start connecting this app to the database, but I have realized I am a bit of a perfectionist, and that is what is taking me so long to get around to that part of the app.

       Although I did not get very far in the realm of setting up a connection between the apps and my database, I started creating some procedures and triggers for the app. One of the procedures is for when a user creates an account. It makes sure that the email is not already associated with an account, and then it will create the account. There is also a procedure for when a user completes a tradition. Right now, I have it so if the tradition has already been completed by the user, then it will not let them complete it again, but I might end up changing how that works. The procedure also verifies that the user account is a valid one before it allows them to try and complete the tradition. There is also a trigger that will occur after a row has been inserted into the CompletedTradition table (so after a user completes a tradition), and it will create a record in the StudentLevel table if the tradition that was just completed puts the user at either the 10, 20, 30, or 40 tradition completed level. The trigger may have to go higher or lower depending on how many traditions the app ends up having, but that seemed like a good place to start. The trigger will also set the user's CompletedAll field to true if the tradition the user just completed signifies that they have completed all of the traditions.

       For next week, I am going to work more on connecting to the database and setting all of that up, and I hope to have more time over Thanksgiving break to work on some of that stuff.


The Contact Us page for the Android App
The Help menu for the Android app

Friday, November 11, 2016

Week 8 Accomplishment

      For this week, I had planned to just test my app, but I also continued to develop certain parts of the app. I did not work on the Android app that much, but I think I made quite a bit of progress with the Apple one.

      For my Android app, most of what I did this week was add a log in page and then connect it to the register page and connect the register page to the log in page. There is also another item on the navigation drawer for the login page. The other thing that I did for the app was looking at some other projects that used Java to connect to the database. I do not really have the connection part integrated into the app yet, but I have a Java file set up and I was able to connect to the database through it, so that seemed like a good start.

       For the Apple app, I created the log in page, the contact us page, and a pop up help menu that displays what the user can do with the app. I also found a tutorial online for how to create a navigation menu, and I think it turned out pretty well. I have not gotten around to figuring out how to connect it to the database yet, but I think I am getting close to that part of the app. I attached pictures below of the current look of the Apple app.

       For next week, I am going to continue to develop the app and I hope to get at least one of the apps connected and reading/writing to the database.

The home page with the navigation item
The navigation drawer
The first version of the help popup
The Contact Us page with a phone and address link.

Friday, November 4, 2016

Week 7 Accomplishments

      For this week, my goals were to continue to create the pages for the app and try to get the app set up so it could connect to my database. I was able to continue creating pages for the app, and I even made a little bit of progress with the Apple app. However, I did not get very far with connecting it to my database.

      For my Android app, I created the welcome page and linked that to the navigator side bar. I also started messing with the theme and was able to change the colors of the background and other parts of the app. There will probably have to be more changes, but my goal right now is to get everything working, and then maybe next semester we can work on the aesthetic part of the app. The thing I was most excited about this week was that I figured out a way for the buttons on the home page to call the same function as the navigation items do when they are clicked. I had to set an onClick event on each button, and then in that method in the activity, call the selectItem method for each button just like the navigation bar would do. I needed the buttons to work the same as the navigation bar because that was the only way that I could get the title of the page to change with the page change.

       I still do not have much to show for the Apple app, but I feel like I accomplished a little this week with it. I got the home page set up and I more or less got the welcome page set up. There are some problems with home things are laid out on both of those pages, but again, I just want to get things working and then I'll deal with the design stuff, especially for the Apple app since I am so far behind with it. I also created a register/login page, and even though it is not exactly the same as the Android one, I like how it looks and how it works. I tried creating the page that will list the traditions by following a tutorial I did when I was trying to learn more about Swift, but I must have done something wrong because the app crashes every time I try to go to the page, so that will be something to figure out later.

       I did not get very far with trying to connect the app to the database, but I was to work on that more this weekend, since I found more tutorials that I think will really help. I think I will send my requests with PHP and then I will receive them in a JSON format. But we will see exactly how that goes.

       For next week, I am supposed to be testing the app and just continuing to develop it. I do not have any specific plans except trying to make everything work. I do finally have some screenshots of things, since it has been a while since I posted any pictures.


Home page for Android app
Navigation bar for Android app
Welcome page for Android app
Registration page for Android app
Demonstration of month drop down
Tradition list page for Android app
Android tradition detail page example
Home page for Apple app
Welcome page for Apple app
Registration page for Apple app
Demonstration of month pop up