Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/gabolera/typescript-api-clean-arch

Starter kit for api in clean architecture using typescript to follow abstract concepts.
https://github.com/gabolera/typescript-api-clean-arch

api clean-architecture express koa solid solid-principles typescript

Last synced: 1 day ago
JSON representation

Starter kit for api in clean architecture using typescript to follow abstract concepts.

Awesome Lists containing this project

README

        



# OPCLEAN




---

# The project

> **Warning**
> 🚧 Under construction


This project is an start kit for api model in clean architecture using typescript to follow abstract concepts, to support any lib creating adapters and being happy 😀

## Folder structures

```
├── src
│ ├── app # Application logic and rules
│ │ ├── entities # Entities of data
│ │ ├── respositories # Interface for repositories
│ │ └── use-cases # Application use cases
│ ├── infra # General components
│ │ ├── core # Interface base for implementation on adapters
│ │ │ ├── adapters # Adapters for libs into project
│ │ │ │ └── http # Http libs adapters (Express, Koa, ...)
│ │ │ ├── interfaces # Basic interfaces of the system
│ │ │ └── Route.ts # Class for registering system routes
│ │ ├── database # Database configurations
│ │ ├── routes # Routes
│ │ └── server.ts # Starting server file
│ ├── presentation # Communication adapter between app and infra
│ | ├── controller # All Controllers
│ | | ├── Controller.ts # Interface of Controller for implementations
│ | | └── ... # Application controllers
│ | ├── protocols # All Controllers
│ | | └── HttpProtocol.ts # Http return interface that every application must respect
├── .gitignore # Ignore file for git
├── .prettierrc # Prettier config
├── package.json
├── package.lock.json
├── README.md
└── tsconfig.json # Project Typescript configuration file
```