I have created an application that is intended to be used within a venue, the link to which is obtained by scanning a QR code of the URL on the table. The concern is that the site is always live so anyone who has accessed the app inside the venue can permanently access the app from home or anywhere else. Is there such a way to limit access to the app during the venue open hours only?
It won’t stop users accessing the app from outside the venue but it will stop them using it as and when they want.
Any advice would be gratefully received.
There are a few ways to achieve that:
You can create 2 deploys: 1 with the actual site and 1 that says time is up/wait for event. As soon as you want to allow users to visit the website, you can click on the publish deploy button in the UI, for example:
That particular deploy will go live. Once the time is up, you can click on publish deploy for the other deploy in which you’re showing the time status. Any further page loads will show the published deploy. This is a manual method.
Another (automatic) method would be to use Edge Functions. You can send a specific response based on current time in UTC. You can deploy it now and they will do their job when the UTC clock strikes the correct time: Edge Functions overview | Netlify Docs
You might have to test syncing your time with UTC time in your app though. Epoch time should work well, but worth testing.