App that allows users to create, update, get and delete reminder alerts which are trigger based on users location
Repo is divided into two sections ms and client
This is the microservice folder. It contains auth and geoAlerts. Both microservices use MongoDB as their database.
Auth (swagger)
The auth mircoservice is in charge of creating, logging in and verifying sessions for users.
Once a user is created they are allowed to login. After a successful login the user will be given a JWT token. This token will give the user access to the other available mircoservices.
The user can also send a verify request to check and see if their token is still valid.
GeoAlerts (swagger)
The geoAlerts mircoservice allows authenticated users to manage their alerts. Users can create, get, update and delete their alerts.
Currently the authentication is done on each of the microservices. This was done since it was the simplest solution. A much better solution would be to use an API gateway, like Kong. The gateway would authenticate all requests before dispatching them to a mircoservice.
The client is a react-native app. The app provides the user with a interactive interface for managing their alerts.
The app runs a task in the background which will send the user notifications based on their location.
Implement native feature for iPhone and Android, for better user experience.