The Project is a sample application for sass application, that implament user registration, login and sms sending (until corrency balance is exhausted).
please enter your Nexmo api_key and secret into docker-compose.yml and run docker-compose up
please enter http://localhost:5000 for Swagger ui page.
The Api Documitation is auto generated please run
make up # to run test enviorment
curl http://localhost:5000/swagger.json # to get the current swagger.json
To get swagger.json and also you can browse to http://localhost:5000/ for intactive web app.
run
make test
will build and run integration tests
The service deployment is out of project scope.
There isn't much something new from architcture stand point.
the jwt token signature is used to Identify the user without keeping session information on the server, so the service could remain as stateless as possible.
The same private key is use to generated phone verification token also for the same reason.
-
please pay attantion that to private key is generated inside the container and the public key is not shared between container. So Horizontal scale is still not supported.
-
Also this is a sample application and multiplie connection handling (gevent implamantation) is not supported yet.
-
please pay attantion that that the internal microservices serve HTTP and not HTTPS so deployment should consider adding HTTPS layer of protection so middle man attack will be considerable harder.