TechHive Solutions User Management API (Minimal)

This project is a User Management API built with ASP.NET Core Minimal API for TechHive Solutions. It enables TechHive's HR and IT departments to create, update, retrieve, and delete user records efficiently.

This API was developed as a three-part final project for the "Back-End Development with .NET" course with a focus on leveraging Microsoft Copilot for code generation, enhancement, and debugging. The project requirements can be viewed here.

The GitHub repository for this project can be found here.

An alternative implementation to this API was developed using a Controller API approach. This version was developed to explore the differences between Minimal APIs and Controller-based APIs in ASP.NET Core. The GitHub repository for the Controller API version can be found here.

Regarding how Copilot was used in this project's development process, transcriptions of the prompts that were used and the conversations that occurred were captured and saved in text files. These files can be found in the /wwwroot/docs folder in the project's Github repository.

Key Features

Testing with Swagger UI

To test the API endpoints, you can use the Swagger UI interface that is automatically generated for the API. However, an authorization token will be required to access the endpoints. To send the authorization token in Swagger UI, follow these steps:

  1. Click here to open Swagger UI in a new page (usually at /swagger or /swagger/index.html).
  2. Click the "Authorize" button (often a lock icon at the top right).
  3. In the value field, enter: your-secret-token
  4. Click "Authorize" and then "Close".
Now, all your API requests from Swagger UI will include the authorization header with your token.

Other tools like Postman can also be used to test the API endpoints by including the authorization token in the headers. Please see the Testing section in the README.md file for more details.

Resetting the List of Users (user store)

The API exposes an POST endpoint (/users/reset) to reset the user store to its initial state. You can use the Swagger UI interface that is automatically generated for the API to call this endpoint if a reset of the user store is needed.