Giter VIP home page Giter VIP logo

cardsapi's Introduction

Cards RESTful Challenge

Description

Assume an application named Cards that allows users to create and manage tasks in the form of cards:

  • Application users are identified uniquely by their mail address, have a role (Member or Admin) and use a password to authenticate themselves before accessing cards

    • Members have access to cards they created
    • Admins have access to all cards
  • A user creates a card by providing a name for it and, optionally, a description and a color

    • Name is mandatory
    • Color, if provided, should conform to a “6 alphanumeric characters prefixed with a #“ format
    • Upon creation, the status of a card is To Do
  • A user can search through cards they have access to

    • Filters include name, color, status and date of creation
    • Optionally limit results using page & size or offset & limit options
    • Results may be sorted by name, color, status, date of creation
  • A user can request a single card they have access to

  • A user can update the name, the description, the color and/or the status of a card they have access to

    • Contents of the description and color fields can be cleared out
    • Available statuses are To Do, In Progress and Done

Build a RESTful web service that satisfies the aforementioned requirements using C#, .NET and an SQL database of your choice

Notes

  • Signing users up is out of scope for this assignment, feel free to populate your database with a fixed set of users by hand
  • Regarding authentication, you are encouraged to generate a JSON Web Token to store user info - said token can be included in the “Authorization“ header (as an OAuth 2.0 Bearer Token) in subsequent API calls to identify the calling user
  • Optionally document the REST API using a tool of your choice

cardsapi's People

Contributors

elishamisoi avatar

Stargazers

Brice Friha avatar

Watchers

 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.