Friday, December 9, 2016

Week 11 Accomplishments

     This week, I have been finishing up a few things with the app and trying to complete my "extra" goals I made for myself last week. I was able to accomplish most of them, so I am really happy about that. One of the goals was to not allow people to register if the email they are using is not a UNK email, and I was able to add that in pretty easily. I also added in a filter to the tradition thumbnails on the list of traditions that shows a green check mark filter over the image if the tradition has already been completed. But this only is shown if the user is logged in and has traditions completed. The last thing I added in is messages that let the user know when they have reached a goal of completing a certain number of traditions. There is also a message that alerts a user when they have completed all of the traditions. These messages display instead of the usual "Completed Traditions!" message that the user would get. I also added icons to the help menu pop up. It still does not look the best, but it is better than it was. I was not able to add in the emailing function I talked about, but that will be something to consider for a future addition.

     Overall, I think I have had a fairly successful time working on this project and learning more about developing apps. I definitely started out with too large of a scope for the project, and that is something I will need to work on. But I have learned a lot about how databases work and how they can communicate with other devices. I also learned about developing apps and all of the detail that needs to go into it to make sure that they work correctly. The biggest challenge for me initially was learning about project planning from a project manager's perspective because my department does not do that, and so trying to do that was interesting to learn about. But I hope to take what I have learned this semester and apply it as I finish up my college career and go out into the real world to work.

Here is the page with some of the
 traditions completed
Here is the number of traditions completed message
Here is the all completed message a user would get
The new help menu with icons
The message for an invalid email

Friday, December 2, 2016

Week 10 Accomplishments

       Since my last blog, I have made quite a bit of progress with my Android app, but I also decided to only focus on that app for now so I could get it completed, because working on both apps was starting to be too much. If I am able to, I might try to go back and look at both apps next semester again, but we'll see what happens.

       With the Android app, I was able to finish setting up all of the database calls that I needed for creating users, logging in, viewing traditions, and completing traditions. I created a few procedures that I could use to do most of these actions, and I have one trigger on the database that updates my student level table if a student completes so many traditions and if a student completes all of the traditions. There are still some things that could be fixed and changed, but it at least can complete all of the basic things that make the app, so I am happy about that.

       I have also continued to make some style changes to the app. I changed the icons to the navigation menu, and I am still working on improving the help menu that pops up. I have fixed a few layout issues on some of the pages, and I improved the back button functionality of the app, since I think that the users should be able to use the button since it is there on Android devices.

       I am still not sure how functional using JDBC for connecting to the database is for mobile devices, but it is what I am using for now. I would have liked to have had the opportunity or time to try a different type of connection, but that just did not work out. My app works for just one device, but I do not know how it would work if multiple devices were using it. But that will probably be something I figure out in the future and not right now.

       A few things that I would like to work on for the final product for the class are trying to figure out if there is a way to email someone if a user completes all of the traditions, figure out a way to mark off traditions when they are completed for the user, show an annoucement to the user when they complete all of the traditions, and add in something to edit the registration form so it will not all users to register for the app unless they are using an email address associated with UNK. I do not know how many of these things I will complete by the time the app is due, but they will be good goals that I can strive for as the semester finishes up.


Navigation with new icons
Slightly improved Help menu
Empty fields Registration message
Registration completed message
Account already created message
Incorrect log in information message
Log in success message
Options for completing tradition
Completion attempt - not logged in
Tradition Completed Success Message
Tradition already completed message

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

Friday, October 28, 2016

Week 6 Accomplishments

      For this week, my goals were to continue working on the database and keep developing the app. I think I did okay with my goals this week and I actually had a little bit of time to keep learning more Swift, so overall I think the week went better than any of the other weeks.

      In class the other day, I got my database set up in MySQL Workbench and started inserting some test data into it. I am not quite done with that, but overall everything seems to be going well. I will finish putting in some data by next week and hopefully be able to start testing with it soon.

       I have still been developing my apps, though I still do not have any progress to show with my Apple app. For the Android app, I made the registration page and have it linked to the navigation bar and the home page like it needs to be. I also have a button on the home page and an item on the navigation bar that links to the UNK alumni page, and that page opens in a separate browser when the user clicks on the item or button. I still need to develop the generic tradition detail page and the log in page, but I think those might be the only two difficult pages I still need to make. I will also have a Contact Us page and a popup with some information to help the user, but I don't think those will be too difficult.

       As I just mentioned, I still do not have anything to show for the Apple app, and it is starting to worry me. One of the other students in our class directed me towards some video tutorials for developing with Swift and XCode, and although I understand more about certain parts of development, actually making the app still seems beyond what I can do. I want to spend quite a bit of time tomorrow in the lab working on it, so we'll see how that goes. I just have not been a big fan of XCode, which is what you create the app in, so I think that is also making it difficult to work on the app.

       For next week, I am going to set up the connection to the database for the Android app, since it will at least be developed enough that I can do that. And if I happen to get enough done on the Apple one, then I will do that with it also. Then I will just keep testing and developing the apps and see how far I can get.

Friday, October 21, 2016

Week 5 Accomplishments

      For this week, my goals were to test the features that I had been adding to the app and try to fix any problems I was having. I also started doing some research into how I am going to connect the app to the database I am going to use. I did okay with doing the research part, but I did not get as much done with the apps as I wanted to because I had a lot of other homework to do over fall break.

       With the Android app, it still looks pretty much the same as it did in my last blog post. The only thing I have been able to accomplish is allowing the user to access the pages from the home screen buttons and not just from the navigation side bar. The only problem with this is I have not figured out how to set the title of the page when just clicking the buttons on the home page, but that is a small problem that I will deal with later. I do not have all of the pages created yet, but I hope to keep working on that and get those pages set up within the next couple of weeks.

       The Apple app is not going nearly as well though. I have not had enough time to devote to learning Swift and all I have been doing is going over a tutorial and trying to change some things so it fits what I need. I am not feeling overly optimistic right now about finishing the Apple app by the end of the semester, but we'll see how it goes. I hope to have more time to spend on it once this month is over because it has been a crazy month of tests and papers and projects and presentations.

       For this next week, I am going to keep working on learning about developing the apps and what I can do to make them better. I really do hope that I will have more time to go into Otto Olsen and work on the Apple app, but we'll just see how the week goes.