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: about 2 months ago
JSON representation
Starter kit for api in clean architecture using typescript to follow abstract concepts.
- Host: GitHub
- URL: https://github.com/gabolera/typescript-api-clean-arch
- Owner: gabolera
- Created: 2023-07-20T23:59:17.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-07-21T16:23:46.000Z (almost 2 years ago)
- Last Synced: 2025-02-01T19:46:00.565Z (3 months ago)
- Topics: api, clean-architecture, express, koa, solid, solid-principles, typescript
- Language: TypeScript
- Homepage:
- Size: 129 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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
```