I did my final project defense which went pretty well I would say. I also worked a little bit on updating my webstire and trying to make it look a little bit cleaner. I have everything completely finished I just need to add a flow diagram to my website and also create my binder and set up my flash drive.
I completely finished all of my back end processes finally. I also went to town on designing the UI and I am really happy withe the color theme that I selected and how everything looks. I also added fully funcitoning social media links to the bottom of the home page of the app's home page to fill up some blank space and I think it makes the app look really official. I had my roomate Eddie go around campus with me and film a video that demonstrates the locationlistener at work and some hypothetical situations where this app would be useful to have. Also I created my presentation and went over it probably 4 times in order to prepare for my final presentation tomorrow morning.
I sorted out and organized all of my buildings in the side bar into different container categories like academic buildings or living areas. I also fully set up the indivdual page for each of the buildings. So once one of the options is selected from the side bar the gallery fragment opens up then the user has the option to select either directions to the building or information about the building and then each option will open up another respective fragment. All of the buildings use the same 3 fragments so all of it is dynamic.
I now have my tours all completely set up and working and I also added all the history and information into my database for all of the buildings. Chat gpt helped me a lot with finding some of the buildings histories because not every building has easily accessible information online. I also created a locationlistener class that will constantly track the users location while using a navigation feature of the app so that whenever the user gets to within 20-25 meters of a building the respective action is triggered.
I got my tour loop process figured out so I am going in a loop from the tour fragment to the info fragment everytime a trigger actions occurs which as of now it is just an onmapclicked listener but I am planning on fixing that to be a location listener was a get a bit further ahead.
I finally figured out why my navigation was not working. When I was trying to add my polyline to the map, which is what gives you the directions, I was trying to write it on the map while on a secondary thread. In android studio you are only able to manipulate the ui within the main thread. So I now have my navigation problem solved which means that I need to actually create my tour arrays or maybe I will make a class to make tour objects, then implement it with the navigation. I also added all the individual buildings to my sidebar and now that i have navigation figured out I should be able to get the fragment up and working for each individual building.
I have been having a lot of trouble with figuring out how to properly integrate navigation into my google map, I think I am really close because it is all coming down to some type of authentification error I believe, but my code should run correctly. Also I am getting very agitated with the bluetooth piece because you have to ask the user for permission for the app to use their bluetooth if it isn't already given before you can start discovering devices, but the method that android studio gives you to solve this is deprecated and it also tries to call the same start disvoery method which throws the error that you need a permissions check again and it pretty much creates an infinite loop of that error.
Since my last post I have not been able to get a lot of work done as I was on vacation in Georgia. However, I now have google maps pretty much fully integrated into my project and now I need to start thinking about how the bluetooth connections will work and also how I am going to be able to loop thorugh my array of tour specific buildings anc complete the same process each time.
Since my last blog post I have created an sqlite database to store all of the buildings on campus and the information I need for all of those buildings. There ended up being just about 40 buildings I had to add and I did not realize that there were so many buildings on the campus. This makes me concerned for my idea about adding each individual building on the side bar of the app but I want to figure out how to make the same base layout for each of the buildings pages and be able to use that layout with the correct information being presented depending on what building is being selected. I also got set up with a developer api key for the google maps portion of the project. My nexxt goal is to mess around and see what integrated features there are with the google maps api on android studio and also to start testing out some ideas with the bluetooth beacons. I also really need to clean up my site and make it look much nicer when I get back from Georgia and am able to access the compsci04 server again.
I started my project in react native using expo and made some good progress on the ui and had the google maps api all working then found out that there is nothing available in the expo library for bluetooth. With this being said I had to restart my project in android studio, which I very much do not enjoy, and after a while of figuring out some problems with getting my environment set up I now have an application up and running. I am mainly running it on a Samsung Galaxy s10 and so far have somewhat of a decent UI set up.
This is the first blog post for my project. Over the weekend I did some thinking and researching and as of now I have come to the conclusion that I will start with building a mobile application (android and ios) using react native for my app. Also I am planning on developing my webpage myself and not using the templated site that snc provides to students so I need to get a basis for that up and running. I am also planning on using the google maps api for the whole navigation part of my project. Also need to start looking into how these bluetooth beacons work.