Skip to content

This repository is created for learning and implementing the principles of clean architecture. It follows a modular structure with separate layers for application, domain, infrastructure, and presentation.

Notifications You must be signed in to change notification settings

aravsanj/clean-architecture-ts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Clean Architecture Learning Repository in TypeScript

This repository is created for learning and implementing the principles of clean architecture. It follows a modular structure with separate layers for application, domain, infrastructure, and presentation.

Project Structure

The project is organized into the following folders:

  • application: Contains application-specific business logic, including use cases.
  • domain: Defines the core domain entities and business rules.
  • infrastructure: Houses the implementation details like databases, external APIs, and other external tools.
  • presentation: Handles the user interface and communication with the external world.

Entity

  • User: Represents the core entity of the application.

Use Case

  • CreateUser: Illustrates a simple use case for creating a new user.

Repository

  • UserRepository: Manages the persistence of user-related data.

Getting Started

Follow these steps to get the project up and running:

  1. Clone the Repository:
    git clone https://github.com/aravsanj/clean-architecture-ts
    
  2. Install Dependencies:
    pnpm i
    
  3. Run the Application:
    pnpm dev
    

License

This project is licensed under the MIT License.

Author

Aravind Sanjeev. saravind436@gmail.com

About

This repository is created for learning and implementing the principles of clean architecture. It follows a modular structure with separate layers for application, domain, infrastructure, and presentation.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages