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.

Friday, October 14, 2016

Week 4 Accomplishments

      For most of this week, my goals were to start developing the app, and for the most part, I stuck to that. I feel like I made significant progress with the Android app, though I still have a few things to work out, but I did not really have a lot of time to spend on learning more Swift. I tried going into the lab one night, but nothing was really clicking for me so I just decided I would try again later. I feel fairly confident that I will be able to complete the Android app by the end of the semester, but the Swift app is still in question as far as if it will get finished.

       With the Android app, I continued to work on setting up a navigation tab and making sure that the pages could be accessed through the navigation drawer at all times. I also learned how to create the elements on the page through programming rather than just creating the elements in the layout. I want to eventually have a JSON call to the database to return the list of traditions with thumbnails for them, so I figured out this week how to generate the table rows and put the images and text boxes into the table rows if those items already exist in Android Studio. It is not quite what I will need to do, but it is a good start I think.

       One thing I am still trying to figure out is how I am going to create the pages from the buttons on the home screen. Right now, the buttons are just for show, but I want to eventually be able to go from the home screen to some of the pages through those buttons. But I will probably have to change the set up of my program first because of how I have the classes laid out currently.

       I am going to continue working on testing this weekend and hopefully have a chance to try some more Swift, but it is fall break and I have quite a few other things to do as well, so we'll see. But until next week, here are some images of what I have so far for the app. I currently have the app in a dark theme, but I am planning on changing it eventually to a light theme because I think that will look better.


The initial screen
The initial screen with the
navigation bar
The tradition list screen in
the middle of the list to show
that it is scrollable
 

Friday, October 7, 2016

Week 3 Accomplishments

      This week, the main thing I worked on was trying to relearn how to create an app for an Android device and trying to learn how to create an app for an Apple device. For the Android app, things have been going pretty well with trying to remember how everything needs to be set up in the app in order for it to run, and I have been satisfied with my progress overall, even though I know I still have a lot to learn. The only thing that has been tricky with it is that I am using a different IDE than when I first learned how to create an Android app, and I think I thought I would remember it better than I actually do.

      The app for the Apple device is a different story all together though. I have never built anything for an Apple device, and I have barely had any experience using a Mac. So what I have been doing for most of this week is going into Otto Olsen a spending a few hours going over app building tutorials from the Apple developer sites so I can get a good understanding of what I am doing. I know I still have a lot to learn, but a few things are starting to click for me, so I am just hoping that even if it takes a while to get things figured out, it will eventually be smooth sailing.

      The last thing I have been doing is finishing up an initial final draft for my database. I have had people look at my database and give me suggestions, so I then updated it with those suggestions and I hope that it will work.

      Next week, I am going to insert in some test information into my database to see run some SQL statements to test a few things out. I also plan one trying to learn a little more about connecting an app to the database, but I am only going to spend a little while doing that because I have time set aside later for working on that part of the project. I am going to start building the official app hopefully, but we'll see how well that actually goes. But I hope to get at least a couple of the pages for the app created by the time the week is over.

Friday, September 30, 2016

Week 2 Accomplishments

      This is my second week of working on my semester project, and I think overall it is going well. On last Friday and Monday of this week, I set up my IDE's so I could start practicing some with the app design. It has been a while since I last created an Android application, and I have never done anything for an Apple device, so it has been a good week of learning and review.

      The IDE I am using for my Android program is Android Studio, which is a JetBrains application. It is very similar to IntelliJ, which I do know how to use, so it has been nice that I do not have to learn a completely new setup. I have mostly just been messing around with layouts on Android Studio and learning how I will build the front-facing part of my app, but I have not looked too much into the programming part yet. The only main bump in the road I have met was when I was trying to figure out how to rotate a picture that was not being displayed correctly, but it turns out the problem with that was part of the pictures properties, and nothing with Android Studio.

      For my Apple app, I am using XCode for my IDE. I thought about using JetBrains' AppCode IDE, but I was told that XCode is going to have more features and abilities than AppCode would, so that is why I stuck with XCode. As of right now, I have just been completing a few tutorials from the Swift developer site so I can learn a few basics, but I do not know how prepared I am to actually start programming the app. But I figure the best way to learn is just to do it, so we'll see how next week goes, as I am planning to start one of my sprints next week. But that will not start until next Wednesday, so I will deal with that when I get to that point.

Friday, September 23, 2016

Week 1 Accomplishments

      This week was the first week of actually starting to work on my semester project. I had been researching some information over the past couple of weeks, but I actually got started with some design stuff this week. On my Gantt chart that I created for this project, I decided that this week, I would get started on the database part of the app and with designing what I wanted the pages of the app to look like.

      For the database part of the app, I created a table for the user which will hold the user's NUID, first name, last name, Loper email, and estimated date of graduation. There is also a table for holding the traditions for the app, and the fields in that table are the tradition number, tradition name or title, tradition description, and the tradition instructions for how to complete it. There is also a table that joins the student and tradition tables, and it has the student's NUID, the tradition number, the date the tradition was completed, and the photo that the student took. We might include some sort of calendar in the app, so I also have a table that will hold upcoming alumni events that the users could go to, since the app is for UNK's alumni association. Another table is for the number of traditions that a student has completed. We are not sure exactly what prize a students would get for completing a certain amount of traditions, but this table would keep track of what type of prize the student would receive and how many traditions would have to be completed first. The there would be another adjoining table between this one and the student table with the student's NUID, the number of traditions that was completed to get to this step, and the date that that level was reached.

      I have also started working on drawing what I think the pages should look like, and I will include those images at the bottom of this post. The designs and layout for the app are based on a couple of other tradition apps I have looked at. It will hopefully be fairly simple and easy to use for the user. The designs will eventually vary a little between Android and iOS, but for now, they appear the same. The biggest design differences will probably be more with functionality of the app rather than appearance.

For today and next Monday, I am going to work on setting up the IDE's for developing the app and make sure I know how to user them. I am planning on using Android Studio for the Android app, and I think I am going to use XCode for the iOS app. I am going to look into XCode more over the weekend, but first I need to get access to XCode on the Macs in the school lab.

Pictures of my designs I drew. Right now they do not have any color, but I imagine that the main color on them will be Loper blue.

Tuesday, September 13, 2016

My name is Rachel Feddersen and this is my blog that I am keeping for my senior seminar semester project. I am a senior computer science major here at the University of Nebraska at Kearney with math and Spanish minors. I am pursuing a Spanish minor because I think it is really important to be able to speak more than one language. I studied abroad in the spring of 2015 in the Czech Republic, and while I was over there I visited 12 countries. I have also been to Canada a couple of times and I really want to go to Costa Rica next summer to finish up my Spanish minor.

My semester project that I am working on for my class is an app for an organization that I am in on campus. The organization, Blue Gold Brigade, is a student run group that works to connect students and alumni for creating networking connections and continuing traditions on campus. The app that I am making is going to be a traditions app that will be for all students at UNK. The alumni board is working on creating a list of traditions, and then those traditions will be incorporated into the app. There will probably be somewhere between 30 and 50 traditions when the app is ready to role out, but that might not be until next fall. But for this semester, I am going to lay the ground work for the app so when the traditions are decided upon, it will not be hard to add them in and make the final changes.

The purpose of the app is to get students connected on campus and excited about things that used to happen a long time ago that they can still be a part of. With the app, the students will be able to select a traditions and upload a picture of them completing the tradition. And if all of the traditions can be completed by their graduation, they will be able to get some sort of prize. We might also have it have checkpoints that if a certain number of traditions are complete but it is not all of them, maybe the students will still get some prize. We will work out that part of it later, but it is just a thought for a potential feature.

I know my adviser for the organization and I are really excited about the potential for the app and we cannot wait to get started on it. Hopefully we can get it done for next school year and it will be a way to get more students connected.