All Projects → rmanguinho → Clean Ts Api

rmanguinho / Clean Ts Api

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

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Clean Ts Api

Dotnet New Caju
Learn Clean Architecture with .NET Core 3.0 🔥
Stars: ✭ 228 (-63.17%)
Mutual labels:  solid, mongodb, clean-architecture, design-patterns, clean-code, tdd
Go Clean Architecture
👨‍💻 REST API example, built by following Uncle Bob’s clean architecture principles
Stars: ✭ 133 (-78.51%)
Mutual labels:  rest-api, mongodb, clean-architecture, clean-code, docker-compose
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 (-89.01%)
Mutual labels:  solid, mongodb, clean-architecture, clean-code, tdd
Service Pattern Go
Simple clean Go REST API architecture with dependency injection and mocking example, following SOLID principles.
Stars: ✭ 449 (-27.46%)
Mutual labels:  rest-api, solid, clean-architecture, design-patterns
Blog Service
blog service @nestjs
Stars: ✭ 188 (-69.63%)
Mutual labels:  graphql, mongodb, travis-ci, jest
clean-ts-api
API em NodeJs usando Typescript, TDD, Clean Architecture, Design Patterns e SOLID principles
Stars: ✭ 43 (-93.05%)
Mutual labels:  tdd, solid, 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 (-87.4%)
Mutual labels:  solid, clean-code, design-patterns, clean-architecture
Aspnet Core Clean Arch
It is a clean architecture project template which is based on hexagonal-architecture principles built with .Net core.
Stars: ✭ 60 (-90.31%)
Mutual labels:  mongodb, clean-architecture, clean-code, tdd
Modular Monolith With Ddd
Full Modular Monolith application with Domain-Driven Design approach.
Stars: ✭ 6,210 (+903.23%)
Mutual labels:  rest-api, clean-architecture, design-patterns, clean-code
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 (+401.45%)
Mutual labels:  clean-architecture, design-patterns, clean-code, tdd
Sample Dotnet Core Cqrs Api
Sample .NET Core REST API CQRS implementation with raw SQL and DDD using Clean Architecture.
Stars: ✭ 1,273 (+105.65%)
Mutual labels:  rest-api, clean-architecture, design-patterns, clean-code
Autoserver
Create a full-featured REST/GraphQL API from a configuration file
Stars: ✭ 188 (-69.63%)
Mutual labels:  graphql, rest-api, mongodb
Mongoke
Instant Graphql for MongoDb (active branch is golang, rewrite in process)
Stars: ✭ 203 (-67.21%)
Mutual labels:  graphql, mongodb, docker-compose
birthtalk
Meet who have birth common with you
Stars: ✭ 36 (-94.18%)
Mutual labels:  tdd, clean-code, clean-architecture
Nest User Auth
A starter build for a back end which implements managing users with MongoDB, Mongoose, NestJS, Passport-JWT, and GraphQL.
Stars: ✭ 145 (-76.58%)
Mutual labels:  graphql, mongodb, jest
Express Graphql Mongodb Boilerplate
A boilerplate for Node.js apps / GraphQL-API / Authentication from scratch - express, graphql - (graphql compose), mongodb (mongoose).
Stars: ✭ 288 (-53.47%)
Mutual labels:  graphql, mongodb, docker-compose
Practical Dapr
A full-stack .NET microservices build on Dapr and Tye
Stars: ✭ 140 (-77.38%)
Mutual labels:  graphql, clean-architecture, docker-compose
eShopOnWeb
Sample ASP.NET Core 6.0 reference application, powered by Microsoft, demonstrating a layered application architecture with monolithic deployment model. Download the eBook PDF from docs folder.
Stars: ✭ 8,250 (+1232.79%)
Mutual labels:  clean-code, design-patterns, clean-architecture
Run Aspnetcore Microservices
Microservices on .Net platforms which used Asp.Net Web API, Docker, RabbitMQ, MassTransit, Grpc, Ocelot API Gateway, MongoDB, Redis, PostgreSQL, SqlServer, Dapper, Entity Framework Core, CQRS and Clean Architecture implementation. Also includes Cross-Cutting concerns like Implementing Centralized Distributed Logging with Elasticsearch, Kibana and SeriLog, use the HealthChecks with Watchdog, Implement Retry and Circuit Breaker patterns with Polly and so on.. See Microservices Architecture and Step by Step Implementation on .NET Course w/ discount->
Stars: ✭ 406 (-34.41%)
Mutual labels:  rest-api, mongodb, clean-architecture
Rick And Morty Info
Made with Clean architecture + TDD + GraphQL + flutter_bloc + CodeCov + GitHooks + GitHub Actions (CI/CD) and finally with 💙
Stars: ✭ 333 (-46.2%)
Mutual labels:  graphql, clean-architecture, tdd

Build Status Coverage Status Known Vulnerabilities js-standard-style GPLv3 License Open Source

Clean Node API

alt text


Link para o curso completo

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.

Link para a documentação da API

APIs construídas no 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)
  • 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
  • Singleton

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
  • Swagger
  • Bcrypt
  • JsonWebToken
  • Faker
  • Coveralls
  • Validator
  • Express
  • Apollo Server Express
  • Graphql
  • Graphql ISO Date
  • Supertest
  • Husky
  • Lint Staged
  • Eslint
  • Standard Javascript Style
  • Sucrase
  • Nodemon
  • Rimraf
  • In-Memory MongoDb Server
  • MockDate
  • Module-Alias
  • Copyfiles
  • Npm Check
  • Bson ObjectId
  • Apollo Server Integration Testing

Features do Node

  • Documentação de API com Swagger
  • API Rest com Express
  • GraphQL com Apollo Server
  • 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
  • Servir Arquivos Estáticos

Features do GraphQL

  • Types
  • Queries
  • Mutations
  • Resolvers
  • Directives
  • Scalars
  • Plugins

Features do Git

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

Features do Typescript

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

Features de Testes

  • Testes Unitários
  • Testes de Integração (API Rest & GraphQL)
  • Cobertura de Testes
  • Test Doubles
  • Mocks
  • Stubs
  • Spies
  • Fakes

Features do MongoDb

  • Connect e Reconnect
  • Collections
  • InsertOne e InserMany
  • Find, FindOne e FindOneAndUpdate
  • DeleteMany
  • UpdateOne
  • Aggregation (Match, Group, Unwind, Lookup, AddFields, Project, Sort)
  • ObjectId
  • Upsert e ReturnOriginal
  • Push, Divide, Multiply, ArrayElemAt, Cond, Sum
  • Filter, Map, Reduce, MergeObjects, ConcatArrays
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].