Skip to content

BNPTI/backend-minimal-api-test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

BNP .NET Technical Challenge

This is a minimal API project modded to implement REPR Design Pattern using FastEndpoints and use cases

The idea of this approach is to get as close as possible to how our brain organizes information. First we think about the thing, then what the thing is capable of doing.

If you noticed similarities with the approach that frameworks like React, Angular, Vue && Laravel, it's not for nothing. The idea is that any DEV can work on this architecture regardless of knowledge background with no compromising performance and scalability. 😎

Getting Started

  • Install nuget packages
dotnet restore
  • Then, run it with
dotnet run --project ./src/backend-challenge.csproj

You can run the following command to execute the tests

dotnet test

Project Arch

This project has the following structure

root
|
-πŸ“‚ src                 // main project
|
--πŸ“‚ Context            // EF core files, extensions and interceptors
|
--πŸ“‚ Modules            // Feature folders, eg: entities, features, actions etc.
|
---πŸ“‚ <Entity name>     // Group of all what is needed to implement the feature
|
----πŸ“‚ [repositoty]     // If the entity needs to be persisted, here are the files needed for persistence configuration
|
-----πŸ—’οΈ data.cs         // Repo implementation
-----πŸ—’οΈ entity.cs       // Entity class
-----πŸ—’οΈ interface.cs    // Repo interface
|
----πŸ“‚ [useCases]       // Where the capabilities (use cases) of the entity are configured
|
-----πŸ“‚ [useCase name]  
|
------πŸ—’οΈ C#...          // useCase implementation
|
-πŸ“‚ test                // Unit tests project

Challenges

We give an example entity called HERO with CRUD implemented. You can use it as a reference to complete the challenges.

  1. Simple validation
  2. Improving endpoint
  3. Hero relations
  4. TO-DO CRUD
  5. Refactor challenge

About

A list of challenges to test the skills of devs applying for backend positions

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages