Skip to content

hernanymotoso/book-manager-api

Repository files navigation

Book Manager Api

An application for book management.

Getting Started

Prerequisites

  • Node v20.18.1
  • Yarn 1.22.22

Installation

  1. Clone the repository (SSH):
git clone git@github.com:hernanymotoso/book-manager-api.git
cd book-manager-api
git fetch origin
git checkout developer

Running

  1. Install the depentencies:
  yarn install
  1. Run tests:
  yarn test:ci
  1. Run the app:
  yarn start

The application will be available at http://localhost:5050.

Features/Progress

Project Book Manager Api

  • ✅ Add Book

  • ✅ Load Books

  • ✅ Auth Middleware

Decisions

  • ✅ Architecture: Clean Architecture

    • I decided to use clean architecture because with it we can divide the project into layers, isolate our domain and business rules from external libraries and ensure decoupling, quality, sustainability and scalability of the project.
    • I decided to use Test-Driven Development and Development tooling to ensure the quality and security of the API.
  • ⚙️ Design Patterns / Principles / Conventions

    • You Ain't Gonna Need It (YAGNI)
    • Single Responsability (SRP)
    • Dependency Inversion (DIP)
    • Factory Pattern
    • Repository Pattern
    • Arrange, Act, Assert (AAA)
    • Test Doubles (Mock, Stub, Spy)
    • System Under Test (SUT)
    • Test-Driven Development (TDD)
    • Git Flow
    • Small Commits

Diagrams

  • 📐 Add Book add-book drawio

  • 📐 Load Books load-books drawio

Test Suites

image image

Time spent

I spent about 2 hours

  • First Commit
image
  • Last Commit
image

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published