All Projects → williamkoller → clean-ts-api

williamkoller / clean-ts-api

Licence: other
API em NodeJs usando Typescript, TDD, Clean Architecture, Design Patterns e SOLID principles

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to clean-ts-api

Dotnet New Caju
Learn Clean Architecture with .NET Core 3.0 🔥
Stars: ✭ 228 (+430.23%)
Mutual labels:  tdd, solid, design-patterns, clean-architecture
Clean Ts Api
API em NodeJs usando Typescript, TDD, Clean Architecture, Design Patterns e SOLID principles
Stars: ✭ 619 (+1339.53%)
Mutual labels:  tdd, solid, design-patterns, clean-architecture
Event Sourcing Castanha
An Event Sourcing service template with DDD, TDD and SOLID. It has High Cohesion and Loose Coupling, it's a good start for your next Microservice application.
Stars: ✭ 68 (+58.14%)
Mutual labels:  tdd, solid, clean-architecture
Clean Architecture Manga
🌀 Clean Architecture with .NET6, C#10 and React+Redux. Use cases as central organizing structure, completely testable, decoupled from frameworks
Stars: ✭ 3,104 (+7118.6%)
Mutual labels:  tdd, design-patterns, clean-architecture
clean architecture typescript example
This repository provides an implementation (or at least an attempt) of Uncle Bob's Clean Architecture with Typescript.
Stars: ✭ 78 (+81.4%)
Mutual labels:  solid, design-patterns, clean-architecture
Service Pattern Go
Simple clean Go REST API architecture with dependency injection and mocking example, following SOLID principles.
Stars: ✭ 449 (+944.19%)
Mutual labels:  solid, design-patterns, clean-architecture
Todo
✅ Commad-Line Task management with storage on your GitHub 🔥
Stars: ✭ 111 (+158.14%)
Mutual labels:  tdd, clean-architecture
Interviews
A list of fancy questions I've been asked during the interviews I had. Some of them I ask when interviewing people.
Stars: ✭ 140 (+225.58%)
Mutual labels:  tdd, solid
Thewisedev Mailing
theWiseDev | API for a squeze page to register users on a mailing list and to email them a bonus (written in Node.js and TypeScript in a Clean Architecture). This project can be used as a reference implementation of the Clean Architecture with Node.js and TypeScript.
Stars: ✭ 145 (+237.21%)
Mutual labels:  tdd, clean-architecture
Alsatian
TypeScript testing framework with test cases
Stars: ✭ 244 (+467.44%)
Mutual labels:  tdd, solid
Cqrs Clean Eventual Consistency
CQRS, using Clean Architecture, multiple databases and Eventual Consistency
Stars: ✭ 247 (+474.42%)
Mutual labels:  tdd, clean-architecture
awesome-software-architecture
A curated list of awesome articles, videos, and other resources to learn and practice software architecture, patterns, and principles.
Stars: ✭ 1,594 (+3606.98%)
Mutual labels:  design-patterns, clean-architecture
Study Path
An organized learning path about Clean Code, Test-Driven Development, Legacy Code, Refactoring, Domain-Driven Design and Microservice Architecture
Stars: ✭ 1,357 (+3055.81%)
Mutual labels:  tdd, clean-architecture
Android Base
Android Clean Architecture MVP RESTful client template app
Stars: ✭ 87 (+102.33%)
Mutual labels:  tdd, clean-architecture
Unmockable
💉 ↪️ 🎁 Unmockable objects wrapping in .NET
Stars: ✭ 35 (-18.6%)
Mutual labels:  tdd, solid
finance-project-ddd
Projeto financeiro usando domain driven design, tdd, arquitetura hexagonal e solid
Stars: ✭ 67 (+55.81%)
Mutual labels:  tdd, solid
Aspnet Core Clean Arch
It is a clean architecture project template which is based on hexagonal-architecture principles built with .Net core.
Stars: ✭ 60 (+39.53%)
Mutual labels:  tdd, clean-architecture
Entitas Csharp
Entitas is a super fast Entity Component System (ECS) Framework specifically made for C# and Unity
Stars: ✭ 5,393 (+12441.86%)
Mutual labels:  tdd, design-patterns
ema
External memory app - allows one to quickly post and search text notes
Stars: ✭ 43 (+0%)
Mutual labels:  tdd, clean-architecture
birthtalk
Meet who have birth common with you
Stars: ✭ 36 (-16.28%)
Mutual labels:  tdd, clean-architecture

Build Status Coverage Status Known Vulnerabilities GPLv3 License Open Source GitHub tag (latest by date) time tracker

Clean Node API

Essa API faz parte do treinamento do professor Rodrigo Manguinho (Mango) na Udemy.

O objetivo do treinamento é mostrar como criar uma API com uma arquitetura bem definida e desacoplada, utilizando TDD (programação orientada a testes) como metodologia de trabalho, Clean Architecture para fazer a distribuição de responsabilidades em camadas, sempre seguindo os princípios do SOLID e, sempre que possível, aplicando Design Patterns para resolver alguns problemas comuns.

APIs previstas para esse treinamento

  1. Cadastro
  2. Login
  3. Criar enquete
  4. Listar enquetes
  5. Responder enquete
  6. Resultado da enquete

Princípios

  • Single Responsibility Principle (SRP)
  • Open Closed Principle (OCP)
  • Liskov Substitution Principle (LSP)
  • Interface Segregation Principle (ISP)
  • Dependency Inversion Principle (DIP)
  • 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

Metodologias e Designs

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

Bibliotecas e Ferramentas

  • NPM
  • Typescript
  • Git
  • Docker
  • Jest
  • MongoDb
  • Travis CI
  • Coveralls
  • Bcrypt
  • JsonWebToken
  • Validator
  • Express
  • Supertest
  • Husky
  • Lint Staged
  • Eslint
  • Standard Javascript Style
  • Sucrase
  • Nodemon
  • Rimraf
  • In-Memory MongoDb Server
  • MockDate
  • Module-Alias

Features do Node

  • Log de Erro
  • Segurança (Hashing, Encryption e Encoding)
  • CORS
  • Middlewares
  • Nível de Acesso nas Rotas (Admin, User e Anônimo)
  • Deploy no Heroku

Features do Git

  • Alias
  • Log Personalizado
  • Branch
  • Reset
  • Amend
  • Tag
  • Stash
  • Rebase
  • Merge

Features do Typescript

  • POO Avançado
  • Interface
  • TypeAlias
  • Utility Types
  • Modularização de Paths
  • Build
  • Deploy
  • Uso de Breakpoints

Features de Testes

  • Testes Unitários
  • Testes de Integração
  • Cobertura de Testes
  • Mocks
  • Stubs
  • Spies
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].