Skip to content

Node.js REST API following good development practices with TDD, SOLID, Clean Architecture and OOP using TypeScript.

License

Notifications You must be signed in to change notification settings

alan-nascimento/node-api-clean-architecture

Repository files navigation

Build Status Coverage Status Known Vulnerabilities js-standard-style MIT License

Node API Clean Architecture

The purpose of this application was to build a well-defined and decoupled architecture, using TDD as the working methodology, Clean Architecture to distribute responsibilities in layers, always following the principles of SOLID and, whenever possible, applying Design Patterns to solve some common problems.

Services

  1. Register
  2. Login
  3. Create Survey
  4. List Surveys
  5. Answer Survey
  6. Survey Result

Principles

  • Single Responsibility Principle (SRP)
  • Open Closed Principle (OCP)
  • Liskov Substitution Principle (LSP)
  • Interface Segregation Principle (ISP)
  • Dependency Inversion Principle (DIP)
  • Separation of Concerns (SOC)
  • Don't Repeat Yourself (DRY)
  • You Aren't Gonna Need It (YAGNI)
  • Keep It Simple, Silly (KISS)
  • Composition Over Inheritance
  • Small Commits

Design Patterns

  • Factory
  • Adapter
  • Composite
  • Decorator
  • Proxy
  • Dependency Injection
  • Abstract Server
  • Composition Root
  • Builder

Metodologies and Designs

  • TDD
  • Clean Architecture
  • DDD
  • Conventional Commits
  • GitFlow
  • Modular Design
  • Dependency Diagrams
  • Use Cases
  • Continuous Integration
  • Continuous Delivery
  • Continuous Deployment

TypeScript Features

  • Advanced OOP
  • Interface
  • Type Alias
  • Utility Types
  • Paths Modularization
  • Build
  • Deploy
  • Breakpoints

Tests Features

  • Unit Tests
  • Integration Tests
  • Test Coverage
  • Test Doubles
  • Mocks
  • Stubs
  • Spies
  • Fakes

About

Node.js REST API following good development practices with TDD, SOLID, Clean Architecture and OOP using TypeScript.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published