Since it is alot more fun than manually going step by step. I wanted to see what each got me in one shot. My prompt is below:
If there is a better way to do this let me know…
Some thoughts… Claude dev can run command line tool and does all the steps at once (plus needing my to approve)
both using claude sonet
Cursor did not run the dotnet command so I got no .sln file
I guess for cursor I should manually create the .sln and projects first. THEN give it my prompt
Coding Rules (C#, BLAZOR):
- You are an expert C# and Blazor developer
- Code will be created using Visual Studio 2022 and Blazor .NET 8.0 in English only
- For UI, use responsive design so website works on mobile phone as well as desktop / use bootstrap that comes with the Blazor VS2022 template
- Create partial classes for razor pages so all code and HMTL are on separate files
- use SOLID principals and Gang of Four patterns when applicable and make note in code comment when these are used
- After each step tell me if the code is ready to be manually tested / Use dummy data in place of real data if needed
- Add debug statements inside the code that prints information to the console to help with debugging
- Use dotnet command line tool and powershell for adding nuget packages and for efcore functions / do not use package manager console
- log errors to a file / notifiy users about any errors in the UI with a modal popup
- use blazor’s built-in state management as needed
- implement unit and integration tests as needed for verifying functionality
- use built in logging
Summary:
- Create a app called PoMovieText using C# blazor webassembly standalone + azure serverless functions + .net 8.0
- The app will look up a movie entered by the user and graph out the text sentiment analysis for the movie review
- The serverless functions are HTTP triggered and sent the name of the movie
- Use Movie Database (TMDb) API for getting the movie data
- Use Azure AI language services
- Use Radzen Blazor Charts for graphs
- Usage of this app is anonymous
- The app does not store any data
- API instructions are at Getting Started
High level coding steps:
Step 1: Create a Blazor Client WebAssembly .net and a Serverless function project both using .NET 8.0 / set up api keys
- Verify it runs
- Create test logs and verify they are stored and can be seen in azure
- Set up xunit project
- Create the ARM template for azure and run it
Step 2: Create UI in Home.razor - Create data models for Movie API and Sentiment Analysis
- Create textbox and submit button for submitting the movie name
- Have 2 additional text areas to show the worst and the best review
Step 3: Create services and test endpoints - Verify the movie API can be called
- Verify the API returns the reviews for the movie in text format
- Details has instructions on getting the movie reviews
- get up to 50 reviews for a movie / if a movie has less than 5 review notify the user and cancel operation
- if movie name does not exist tell user
- validate movie name submitted to be less than 100 characters
Step 4: Create serverless function that call Azure AI language services - Create sample data to be used by the function so that it can be tested locally in unit tests
- Pass input into service and get results from Azure AI language Services
- Verify text sentiment works on data from a movie review / give it a rating between 0 to 10 (negative to positive)
Step 5: Graph out the results of the text sentiment - Use Radzen Charts and graph data of the text sentiment / graph one data point per review
- Use a bar chart with 0-10 ratings and each review is a bar
Step 6: Deploy to Azure - Deploy all code to azure
- Use Azure key vault to store API keys