This project is a backend service for a Customer Relationship Management (CRM) system. It handles various functionalities to manage and analyze customer interactions and data throughout the customer lifecycle. The service allows for a variety of interactions with the CRM data via a set of 31 APIs. The API is public and there is a rate limit of 10 requests per minute.
Currently, there is no frontend for this project. However, a user interface is under consideration for future development.
You can access the live API base URL at: http://crmapi.nhanproj.com
Or you can test out the API directly in Postman
GET /api/customers
: Retrieves a list of all customers.
GET /api/customers/{id}
: Retrieves details of a specific customer.
GET /api/customers/{id}/totaltrans
: Retrieves the total number of transactions of a specific customer
GET /api/customers/{id}/transactions
: Retrieves the details of all transactions by a specific customer
POST /api/customers
: Creates a new customer.
PUT /api/customers/{id}
: Updates a specific customer.
DELETE /api/customers/{id}
: Deletes a specific customer.
GET /api/products
: Retrieves the details of all products
GET /api/products/{id}
: Retrieves the details of a specific product
GET /api/products/{id}/inTransactions
: Retrieves the details of all transactions that contain this product
GET /api/products/{id}/numTransactions
Retrieves the number of transactions that contain this product
GET /api/products/{id}/numSold
: Retrieves the number of items sold for this product
GET /api/products/{id}/revenue
: Retrieves revenue from selling a specific product
GET /api/products/sold
: Retrieves total number of products sold
GET /api/products/mostSold
: Retrieves the details of the product that is sold the most
POST /api/products
: Creates a new product
PUT /api/products/{id}
: Updates a specific product
DELETE /api/products/{id}
: Deletes a specific product
GET /api/transactions
: Retrieves all transaction
GET /api/transactions/{id}
: Retrieves a specific transaction
GET /api/transactions/{id}/products
: Retrieves the details of all the products in a specific transaction
GET /api/transactions/{id}/totalcost
: Retrieves the total cost of a transaction
GET /api/transactions/revenue
: Retrieves the total revenue from all transaction
POST /api/transactions
: Creates a new transaction
PUT /api/transactions/{id}
: Updates a specific transaction
DELETE /api/transactions/{id}
: Deletes a specific product
GET /api/transactiondetails
: Retrieves the details of all transaction
POST /api/transactiondetails
: Creates a new transaction detail
C# 8.0
ASP.NET Core 3.1.10
Entity Framework Core 3.1.28
SQL Server
SQL Server Management Studio