CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl-labs/aspnet-security-basics

Security defaults that belong in every ASP.NET Core application from day one.

87

1.91x
Quality

83%

Does it follow best practices?

Impact

94%

1.91x

Average score across 5 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

task.mdevals/scenario-4/

Build a Task Tracker API with ASP.NET Core

Problem/Feature Description

A project management startup needs a task tracking API built with ASP.NET Core and C#. A Blazor WebAssembly frontend on https://tasks.example.com will consume this API. Team members can create projects, add tasks, and assign them to each other.

The API needs the following endpoints:

  • POST /api/projects -- create a new project (accepts name, description)
  • GET /api/projects -- list projects the current user belongs to
  • GET /api/projects/{id} -- get project details including task summary
  • POST /api/projects/{id}/tasks -- create a task in a project (accepts title, description, priority, assigneeId, dueDate)
  • GET /api/projects/{id}/tasks -- list tasks in a project (supports ?status=open&priority=high&assignee=me)
  • PATCH /api/projects/{projectId}/tasks/{taskId} -- update a task (change status, reassign, update fields)
  • DELETE /api/projects/{projectId}/tasks/{taskId} -- delete a task (project owner only)

Use an in-memory data store. Projects have Id, Name, Description, OwnerId, MemberIds, CreatedAt. Tasks have Id, ProjectId, Title, Description, Priority (Low, Medium, High, Critical), Status (Open, InProgress, Done, Closed), AssigneeId, CreatorId, DueDate, CreatedAt, UpdatedAt.

Output Specification

Produce:

  • Program.cs -- Application setup with services and middleware
  • Controllers/ProjectsController.cs -- Project management endpoints
  • Controllers/TasksController.cs -- Task CRUD endpoints
  • Models/ -- Request/response DTOs and entities
  • Services/ProjectService.cs -- Project and task business logic
  • appsettings.json -- Configuration
  • TaskTracker.csproj -- Project file with NuGet packages

evals

tile.json