This is a comprehensive REST API for a Contact Management System built using ASP.NET Core. It provides endpoints for managing users and contacts.
The Contact Management System REST API is designed to facilitate the management of user information and contacts. It includes authentication endpoints for user registration and login, as well as user and contact management endpoints.
- POST /api/auth/signup: Register a new user.
- POST /api/auth/signin: Log in and get an access token.
- GET /api/users/me: Get the current user's information.
- PUT /api/users/me: Update the current user's information.
- GET /api/contact: Get a list of all contacts.
- GET /api/contact/{contactId}: Get details of a specific contact.
- POST /api/contact: Create a new contact.
- PUT /api/contact/{contactId}: Update details of a specific contact.
- PATCH /api/contact/{contactId}: Update specific detail of a specific contact.
- DELETE /api/contact/{contactId}: Delete a specific contact.
To run this ASP.NET Core application, follow these steps:
-
Clone the Repository:
git clone /~https://github.com/TheDayDreamer01/ContactManagement-ASP.NET.git
-
Navigate to the Project Directory:
cd contactmanagement-asp.net
-
Restore Dependencies:
dotnet restore
-
Run the Application:
dotnet run
-
The API should now be running at
http://localhost:5000
. You can access the Swagger documentation athttp://localhost:5000/swagger
for detailed API documentation and testing.
This API can also be containerized using Docker. A Dockerfile
is included in the repository.
To build and run the API in a Docker container, follow these steps:
-
Build the Docker Image:
docker build -t contactmanagementsystem-backend .
-
Run the Docker Container:
docker run -d -p 8000:80 --name contact-management-container contactmanagementsystem-backend
-
The API should now be running in a Docker container, and you can access it at
http://localhost:8000
.
This Contact Management System REST API is open-source software licensed under the MIT License. Feel free to use, modify, and distribute it as needed.