sitestudio / otest

Test SKGithubTest app
MIT License
0 stars 0 forks source link

DevLead.Plan chain for #185 #187

Open skgithubtest[bot] opened 1 month ago

skgithubtest[bot] commented 1 month ago

I want to create an app to manage Staff Details at a school using the Staff App Catalog Group in C#

skgithubtest[bot] commented 1 month ago

{ "steps": [ { "step": "1", "description": "Define the application requirements and architecture.", "subtasks": [ { "subtask": "Gather requirements for the Staff Management App.", "description": "Identify the features and functionalities needed for managing staff details.", "prompt": "Write a code comment identifying the features required for a staff management application, including adding, editing, deleting staff records, and viewing staff details." }, { "subtask": "Design the application architecture.", "description": "Create a high-level architecture diagram for the Staff Management App using C# and Azure services.", "prompt": "Write a code comment describing a high-level architecture for a C# application using Azure services for staff management, including data storage and authentication." } ] }, { "step": "2", "description": "Set up the development environment.", "subtasks": [ { "subtask": "Install necessary tools and frameworks.", "description": "Install Visual Studio, .NET SDK, and Azure SDK.", "prompt": "Write a script to check if Visual Studio, .NET SDK, and Azure SDK are installed, and if not, provide installation commands for each." }, { "subtask": "Create a new C# project.", "description": "Set up a new ASP.NET Core project for the Staff Management App.", "prompt": "Write a command to create a new ASP.NET Core Web API project named 'StaffManagementApp'." } ] }, { "step": "3", "description": "Implement the data storage layer.", "subtasks": [ { "subtask": "Choose the appropriate database.", "description": "Decide between SQL Database and Azure Table Storage for staff data.", "prompt": "Write a code comment explaining the choice between SQL Database and Azure Table Storage for storing staff details in the application." }, { "subtask": "Set up data access layer using Entity Framework Core.", "description": "Create models and a DbContext for the chosen database.", "prompt": "Write code to create a model class for 'Staff' and a DbContext class 'StaffManagementContext' using Entity Framework Core." } ] }, { "step": "4", "description": "Implement the business logic layer.", "subtasks": [ { "subtask": "Create services for managing staff.", "description": "Implement services to handle CRUD operations for staff records.", "prompt": "Write code for a service class 'StaffService' that implements methods for adding, updating, deleting, and retrieving staff records." }, { "subtask": "Set up dependency injection for services.", "description": "Configure DI in the Startup.cs for easy access to services.", "prompt": "Write code to configure dependency injection for 'StaffService' in the Startup.cs file of the ASP.NET Core application." } ] }, { "step": "5", "description": "Develop the API layer.", "subtasks": [ { "subtask": "Create controllers for API endpoints.", "description": "Implement a StaffController to expose API endpoints for staff management.", "prompt": "Write code for a 'StaffController' class that provides API endpoints for CRUD operations on staff records." }, { "subtask": "Add API documentation using Swagger.", "description": "Integrate Swagger for API documentation.", "prompt": "Write code to configure Swagger in the Startup.cs file, enabling API documentation for the Staff Management App." } ] }, { "step": "6", "description": "Implement authentication and authorization.", "subtasks": [ { "subtask": "Set up Azure Active Directory authentication.", "description": "Integrate Azure AD for secure access to the application.", "prompt": "Write code to configure Azure Active Directory authentication in the Startup.cs file of the ASP.NET Core application." }, { "subtask": "Implement role-based access control.", "description": "Define roles and secure API endpoints based on user roles.", "prompt": "Write code to implement role-based access control in the StaffController using the [Authorize] attribute." } ] }, { "step": "7", "description": "Deploy the application to Azure.", "subtasks": [ { "subtask": "Create an Azure App Service.", "description": "Set up an Azure App Service for hosting the application.", "prompt": "Write a script using Azure CLI to create an Azure App Service for deploying the Staff Management App." }, { "subtask": "Deploy the application to Azure.", "description": "Deploy the application using Azure DevOps or GitHub Actions.", "prompt": "Write a YAML script for GitHub Actions to build and deploy the ASP.NET Core application to the Azure App Service." } ] }, { "step": "8", "description": "Implement monitoring and logging.", "subtasks": [ { "subtask": "Set up Application Insights.", "description": "Integrate Azure Application Insights for monitoring application performance.", "prompt": "Write code to configure Azure Application Insights in the Startup.cs file of the ASP.NET Core application." }, { "subtask": "Implement logging.", "description": "Add logging to capture application events and errors.", "prompt": "Write code to configure logging in the Startup.cs file using Serilog or built-in logging providers." } ] }, { "step": "9", "description": "Perform testing.", "subtasks": [ { "subtask": "Write unit tests for the services.", "description": "Create unit tests to ensure service methods function correctly.", "prompt": "Write unit test code for the 'StaffService' class using xUnit and Moq." }, { "subtask": "Set up integration tests for API endpoints.", "description": "Create integration tests for the API endpoints in StaffController.", "prompt": "Write integration test code for the 'StaffController' API endpoints using xUnit and TestServer." } ] }, { "step": "10", "description": "Launch and monitor the application.", "subtasks": [ { "subtask": "Launch the application.", "description": "Officially launch the application for school staff management.", "prompt": "Write a code comment detailing the steps to launch the application publicly." }, { "subtask": "Monitor application performance post-launch.", "description": "Use Application Insights to monitor and analyze the application performance.", "prompt": "Write a code comment describing how to access and interpret performance metrics in Azure Application Insights." } ] } ] }