In this exercise, you'll build two microservices that will contact over Google Cloud Pub/Sub. Below is a list of requirements and success criteria for your finished project.
You'll build two gRPC
services, auth-service
and otp-service
. auth-service
will publish message SendOTP
on verification
topic, and the otp-service
will subscribe to the topic and will listen on the event.
After consuming the event otp-service
will use Twilio to send the otp.
You'll build this service in golang
and use GCP Cloud Pub/Sub for messaging.
Create an auth service. This service will handle authentication and user profile.
- User should be able to create account using phone number.
- On successful account creation, publish a message on pubsub topic.
- User should be able to verify the account using the received otp.
- User should be able to login. By using otp.
- User should be able to logout.
- User should be able to get their profile.
- SignupWithPhoneNumber
- VerifyPhoneNumber
- LoginWithPhoneNumber
- ValidatePhoneNumberLogin
- GetProfile
- Will consume
SendOTP
event. - Send OTP using Twilio.
- SendOTP
https://cloud.google.com/pubsub/docs/overview
https://www.twilio.com/docs/sms/api
- Tests
- Comments
Contributing In order to test end to end the way you handle code commits, pull request and documentation. Follow this instructions.
- Fork the project
- Create your feature branch (git checkout -b feature/AmazingFeature)
- Make your changes
- Commit your changes (git commit -m 'Add some AmazingFeature')
- Push to the branch (git push origin feature/AmazingFeature)
- Open a pull request
- Makesure to fork the repo and send a PR ( if unsure check this https://medium.com/@rishabhmittal200/contributing-guide-when-you-fork-a-repository-3b97657b01fb)