DotNet API for ChatBot App

Job ID: 36315096

Budget: $750 – $1,500 USD

Hello! Looking for a talented, motivated Dot Net developer to develop a simple Web API for me. Our goal is to provide an interface that will help users leverage ChatGPT functionality. The API should handle the following:

1. User Authentication: The API would handle user authentication by receiving requests from the frontend with the user's credentials. It would then verify the credentials by checking them against the database. If the credentials are valid, the API would generate a JWT token and send it back to the frontend. The frontend would then store the token in local storage or a cookie and use it to authenticate subsequent requests to the API.
2. Chat Interface: The API would handle the chat interface by receiving requests from the frontend with the user's questions. It would then send the questions to the OpenAI API and Azure LUIS service for natural language processing and intent recognition. Once the API receives a response from the AI services, it would format the response and send it back to the frontend.
3. Vendor Area: The API would handle the vendor area by receiving requests from the frontend to create, update, or delete product listings. It would then update the database with the new information and send a response back to the frontend indicating whether the operation was successful or not.
4. News Section: The API would handle the news section by fetching news articles from various online sources using APIs or web scraping. It would then format the articles and send them back to the frontend for display.
5. User Profile Management: The API would handle user profile management by receiving requests from the frontend to update the user's personal information, view their past chat history, and manage their preferences. It would then update the database with the new information and send a response back to the frontend indicating whether the operation was successful or not.
6. Admin Interface: The API would handle the admin interface by receiving requests from the frontend to manage users, vendors, and content. It would then update the database with the new information and send a response back to the frontend indicating whether the operation was successful or not.
7. Location services using Google Maps API: When a user uses the service, the API uses the Google Maps API to determine the user's location.
8. FAQs: The API would handle the FAQs section by receiving requests from the frontend to view the FAQs. It would then send the FAQs back to the frontend for display.
9. Error Handling: The API would handle error handling by ensuring that all requests are handled properly and errors are handled gracefully. It would send error messages back to the frontend indicating what went wrong and how to fix it.

Overall, the API would need to be designed to be scalable, secure, and efficient, handling a large number of requests from Users and Vendors. It would need to use best practices such as input validation, error handling, and rate limiting to ensure that the app is secure and reliable.

API should be built in DotNet Core
The database will either be Azure MSSQL or Azure PSQL
Application will be hosted in Azure Cloud and will leverage the following services:
OpenAI API, Azure Language Services, OAuth(Maybe), Google Maps API, GraphQL(maybe)
Related categories: ASP C# Programming Software Development ASP.NET