TechHive Solutions User Management API (Controller)

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

The GitHub repository for this project 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.

Alternative Implementation

This API was built as an alternative implementation to the original TechHive Solutions User Management API, which was developed using a Minimal API approach. The Minimal API version 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 the Minimal API project can be found here.

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: TechHive2024SecureToken
  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. Full Test Coverage is also available if using the application in an IDE. Please see the Testing section in the README.md file for more details.

Resetting the List of Users (user data)

The API exposes an POST endpoint (/api/Data/seed) to reseed the user data 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.