Make DRF api not publicly accessible

Hello, i recently deployed my api using digital ocean at a domain like api.test.com. Everything works just fine but the problem is that the api is publicly accessible by anyone who knows this domain. What i want to achieve is this:

  1. Make the api not publicly accessible but also
  2. Be able to have access to its endpoints from my React fron-end app.
  3. I also want to be able to access the admin panel to create products, articles manage orders etc on production.
    Any kind of help would be realy appreciated.