michaelgira23/navigatAR

About the Firebase

AHassouneh opened this issue ยท 19 comments

Could I know the firebase content, since when I tried to create a new user with a new building it keeps shutting down the application

Hi @AHassouneh,

In the Firebase Realtime Database (not Cloud Firestore) there is a root objects for buildings, events, nodes, tags, and users. I believe if you create an object in the database root, that should fix any problems. Here's the structure:

{
  "buildings" : {
	  ...
  },
  "events" : {
	  ...
  },
  "nodes" : {
	  ...
  },
  "tags" : {
	  ...
  },
  "users" : {
	  ...
  }
}

You might need to add some initial dummy data to create these objects. If so, try adding some random key + value inside each object but delete it once you create real data via the app.

If you have any trouble setting up the database or have any other problems, let me know!

Thanks a lot for your reply. Actually I've created a new project and replace the google-service.plist and created the roots as you mentioned. Unfortunately it's still the same. Couldn't please export the firebase DB or give me more details. I'll be thankful, since I'm new to the firebase.

Here you go @AHassouneh. If that doesn't work, is there any error message you receive when running the app? Also note that you need to add a config.plist in the /navigatAR/navigatAR directory, and you probably have to insert Indoor Atlas API credentials you can obtain by creating an account here.

navigatar-85ec1-export.json.zip

Oh Many thanks, I'll try all the things you mentioned and let you know,
Thank you again

Thank you a lot. I changed the database accordingly and create an account on IndoorAtlas, and created a config file to include the keys of indoor atlas. accounts to the database are connected correctly, it brings the floor of the buildings from the database that are connected to the account but still it doesn't bring the paths from my map on indoor atlas I'm trying to see what's the problem.

@AHassouneh, our app does not use IndoorAtlas' native waypoint system. Instead you would need to go into the app and configure nodes and paths in the manage nodes page. First you create the nodes. The app would try to get your standing location and record it. After you have created multiple nodes, there should be a manage node connections page. Its very clunky but you should be able to see your floorpan and your nodes. You can tap on the nodes to create connections and tap on the connections to cancel them. After you have created the connections, you can go back into the AR page and select a destination node. Then you will see the paths leading to that node.

Thanks for you reply a lot. I'm really sorry for bothering, but I did as you mentioned on dummy data and the map appeared even that the nodes are created only using the database, despite of that I can't navigate since they don't appear in the search despite of appearing in the manage nodes and manage map, as shown in the attached pictures:
20180326_123618

The Navigation window is always empty, nothing appears in the search bar:

20180326_123652

Is the app possibly crashing when you try searching? Are you able to share an export of your Firebase DB?

Just for future reference, what exactly was causing the crash? Was there just something in the database that wasn't formatted properly? Glad you fixed your issue!

When you get this error, is it an error message displayed in the app itself or does the app crash with the error message "the specified node is not in the building"?

I took a look at the code and I don't think we have any error message like that (though please correct me if I'm wrong). If it isn't us, it might be an Indoor Atlas issue. For the building configuration online, maybe try moving the building's coordinate point closer to where you are trying to create a node?

Hey @AHassouneh, sorry I forgot to respond to your message!

If you're still trying to figure out the problem, the problem might be related to IndoorAtlas. IndoorAtlas is what we use for positioning, so any problems with positioning would be related to the configuration of that. You should be able to use navigatAR indoors to the accuracy that IndoorAtlas provides.

The pathfinding algorithm works by drawing an arrow from the phone's position to the nearest node, then using the node connections to navigate to the destination node.

We've mapped out venues both with a beacon and without. We haven't done enough testing to make any definitive consensus, but I think using iBeacons with IndoorAtlas would make positioning more accurate because it's another mechanism of acquiring the user's position.