Senseanywhere internship

This company makes hardware sensors to measure temperature, humidity, and anything else you might require. They have a nice dashboard on which you can view all your data but some of their partners had asked for API access. My internship assignment was;

  • Starting on a new REST API to access their data
  • Make an API gateway for their customers to interact with
    • With versioning
  • Manage users authentication
  • Research into the best technology to use
.NETAzureAzure ADAzure API Management GatewayDocker

Technical details

  • .NET for a new REST API: They needed a new API for users to be able to access their data, this required to be versioned and authenticated and I did research on the best way toe achieve this. .NET was the best option to use within the company.
  • Azure: The company already used Azure for everything, and my research showed that this would be the best option for deploying the API service I made.
  • Azure AD: For their customers to access their data from the new REST API, user authentication would be required, I set up Azure AD for them, as research showed this was the best option. To migrate their existing users, I created a migrator API that would automatically convert their existing users when they tried to use the API.
  • Azure API Management Gateway: As they needed a reverse proxy research was done and showed that for their use-case Azure API management Gateway was the perfect product, which was set up to use.
  • Docker was used for local development

Graph showing how my assignment would have looked

Arch_after_migrator-Final.drawio.png