An SPA-style web application that allows users to create projects, software requirements, and test cases. Users can quickly and easily build up a list of requirements and test cases for each requirement so that they can quickly discover test coverage on requirements.
This demo application is not meant to be a final product, but as a first iteration explores:
- Microservice architecture
- Uses distinct, containerized minimal API services for a web application service consumer
- Use of jQuery to simulate single page applications
- Vue.js would be a better permanent solution! jQuery is fast for my prototyping, and helps demonstrate comfort with selectors and spans fundamental to more advanced work with the platform
- Use of Cloud Database
- Accomplished by connecting to an Azure Microsoft MS SQL database
- Clean UX
- Building on the Bootstrap framework, this application customizes the UI/UX to make sure that it's easy to navigate and work with controls, making sure that things make sense for a user that is used to working with very complicated tools to do these same tasks.
- .NET 6.0 Minimal API
- .NET Core Razor Web Application
- jQuery for AJAX, etc.
- Bootstrap front-end
- Azure MS SQL Database
- EntityFramework Core 6
- Docker (Linux-based)
- Clone the repo locally
- Set up your own Azure SQL DB or use a local SQL instance (more configuration needed, particularly for Docker)
- Run any scripts in the schema folder to initialize the database properly
- Build Docker images (3 API services + web application) (note, advise to run on localhost as there is no authentication in this demo, and CORS settings are modified for localhost use)
- Update localhost:port hardcoded strings in the site.js file of Raven.Web to match Docker container ports for the appropriate APIs.
- Run all 4 Docker images and navigate to web application index page.
Video screengrab Requirements can also be modified!
Video screengrab Test cases can also be modified!
In the future I plan to implement the following in order of priority (as time permits):
- UI polish pass on modifying requirements, test cases
- Modify projects
- Delete projects, requirements, test cases
- Refactor test coverage dynamic tags
- Unit tests (NUnit)
- Print reports
- Print every requirement for a project
- Print every test case for a project
- Print every test case for a requirement
- Print every requirement and project that has no test coverage
- Robot Framework or Playwright front-end testing
- Switch from .NET Core Razor web app to Vue.js