Giter Site home page Giter Site logo

assignment-w7's Introduction

Leanware Project

This week's assignment continues the preious one and adds several use cases.

Feature and story status

When created, features and stories must have status 'New'. Status should be returned in GET requests. Implementation advice: you may use (if you want) C# enum to handle statuses in business logic, and convert enum to/from string when saving to DB or processing HTTP requests. For DB, EF Core value converters can help to automatically convert enum/string for DbContext operations.

Features approval

POST /api/features/{id}/approve

Request should move feature and all realted stories to status 'Approved'. Only 'New' feature can be approved. Status should not be allowed to change directly with PATCH update request (any such attempt should be ignored by API).

Tags management

Tags can be renamed with POST /api/tags/{tagName}/renameTo/{newName}. Tags can be deleted with DELETE /api/tags/{tagName}. All changes to tags should affect features and stories that have these tags.

Features filtering by tag

Features can be filtered by tag with GET /api/features?tag={tagName}. This request should return list of features that have specified tag.

Implementation advice: you may use separate explicit entity for modelling many-to-many relationship between tags and features/stories, e.g. FeatureTag and StoryTag. See EF Core relationships documentation - "Many-to-many" section. When querying entities with many-to-many relationship, if you want to do it in one LINQ statement, you will need to explicitly include related entities - see Loading Related Data. Another option is to manually query relationships first (your FeatureTag entities), and then use that data to query main entities (Features).

assignment-w7's People

Contributors

ironpercival avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.