Skip to content

harrygiannik/csharpapp-cg

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

C# Accepted Assessment app

An application for C# (.net) knowledge assessment

Description

This is a web application that interacts with a 3nd party service (https://fakeapi.platzi.com/https://api.escuelajs.co) and serves data

We have to do some code refactoring and implement some new features

Code refactoring

Seems that the use of http client is not so much efficient

Let's make a different, more solid, approach/implementation

New features

#1

Right now only the getAll method supported for products

We have to implement getOne and create methods also

#2

Add implementation for categories

#3

3nd party service supports JWT auth. We have to implement and support it. Use the credentials provided to appsettings.json file.

#4

We must measure and log the performance of the requests. Create a middleware to achieve this.

Implementation

  • Try to understand and keep the architectural approach.
  • Add unit testing.
  • Add docker support.
  • Using CQRS pattern will be considered as a strong plus.
  • The attached collections (postman/insomnia) will help you with the requests.

Giannikopoulos Charis - C# Accepted Assessment app

Features

  • Product endpoints: get all, get by id, create
  • Category endpoints: get all, get by id, create
  • JWT authentication
  • Request performance logging middleware
  • Unit tests for services and middleware
  • Docker support

Endpoints

Base path: api/v1

  • GET /api/v1/products
  • GET /api/v1/products/{id}
  • POST /api/v1/products
  • GET /api/v1/categories
  • GET /api/v1/categories/{id}
  • POST /api/v1/categories
  • GET /health

About

Accepted Ltd - Technical Assignment

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C# 97.8%
  • Dockerfile 2.2%