An API for creating new users which takes username and password in json request. An API for authentication, i.e. it should take username and password as json request and return a JWT token in response. Save user details in a database, you can use default Sqlite. Every time client calls our authentication API, we want to notify our team with user’s IP by sending a webhook to the following URL: URL: https://encrusxqoan0b.x.pipedream.net/ Method: POST Content-Type: application/json Body: {“user”: user_id, “ip”: ip_address} For every login, keep a history of ip address in a model (UserLoginHistory) Add a custom action to the UserLoginHistory model in the django admin interface that allows the selected record to be exported as CSV. Host your API on any hosting service with free tier like heroku (https://www.heroku.com/) Allow signup using Google OAuth2.0 from server side. You might need a frontend to test or complete the Google signup flow, for that you can create a template that offers signup functionality.