Project 2 - 1909-sep30-net/trainer-code GitHub Wiki

  • Angular single-page application
    • client-side validation
    • error handling on requests to APIs
    • deployed to Azure Storage or Azure App Service
    • supports deep links
  • ASP.NET Core REST service
    • follow standard HTTP uniform interface, except hypermedia
    • architecture with separation of concerns between domain/business logic, data access, and API; repository pattern
    • deployed to Azure App Service
    • Entity Framework Core
      • DB should be on the cloud
      • not SQL Server - probably PostgreSQL
      • all DB/network access should be async
    • server-side validation
    • support filtering or pagination on at least one resource
    • logging
    • implement hypermedia, or, implement an API Description Language, e.g. using Swashbuckle
    • (optional: implement a custom filter, health check, or middleware, e.g. exception-handling middleware)
  • Azure Pipelines
    • build definitions
      • Unit tests
      • SonarCloud
        • Code coverage at least 50% for both API and Angular app
        • Reliability/Security/Maintainability at least B
    • (optional: release definitions with deploy instead of in build, and with health checks)
  • must have some calls to an external API, or integration with some other service
  • authentication and authorization with Auth0
  • Project board to track user stories across team
  • Docker (working Dockerfiles for service and for web app)
  • any other tech you want within reason
  • the data model (how many tables, what kind of complex relationship like N to N) must be at least as complicated as project 1.
  • the user interaction model (what are the user stories, what inputs/interactions can the user make) must be at least as complicated as project 1.
  • a project proposal
    • MVP minimum viable product
    • potentially stretch goals, extra features