I'm sketching out the architecture of a side-project of mine which is an app that let's logged in users to add points on a map with their location. So the steps would be the following:
- user logs in
- they mark their location on a 2D map
- the client sends a request to the backend which saves the location coordinates in a database
The catch is that I would like to update the newly added location to be instantly visible to other users that are logged in in my application as well. So, the pinpoint on the map should automatically show up for the rest of the users.
For this, I was thinking to use Angular 6 as the front-end framework. The services will take care of sending the necessary requests to the backend. As a database, I'm planning to use a MySQL DB and I'm flexible about my backend language.
What I'm most confused about is how to approach designing the overall architecture of the app. Should the newly added record trigger an event in the database that sends a message to the client and updates it? Is there some architecture pattern or system design pattern that I could look into in order to develop a better solution?