Skip to main content
Home

Built and signed on GitHub Actions

Works with
This package works with Node.js, Deno
This package works with Node.js
This package works with Deno
โ€ขJSR Score100%โ€ข
Downloads7/wk
โ€ข
Publisheda year ago (1.0.2)

This package provides essential constructs for integrating DDD & Clean architecture in the application layer.

domaincrafters application ๐ŸŽฏ

License

workflow GitHub Release JSR

Quality Gate Status Code Smells

Domaincrafters/application is a package designed to simplify the development of educational Domain-Driven Design (DDD) projects in Deno using TypeScript. It provides essential application layer constructs that embody DDD principles, including Use Case and Output Port. ๐ŸŽฏ

Changelog

See the CHANGELOG for detailed information about changes in each version.

Features โœจ

  • UseCase Interface: Defines a standard for executing business logic with provided input and output.
  • OutputPort Interface: Represents a presenter interface responsible for presenting extra output data from a use case.

Installation ๐Ÿ“ฆ

To install the @domaincrafters/application package from domaincrafters using JSR, use the following import statement in your TypeScript project:

import {
  UseCase,
  OutputPort,
} from "jsr:@domaincrafters/application";

Contributing ๐Ÿค

Contributions are welcome! Please follow these steps:

  1. Fork the repository.
  2. Create a new branch: git checkout -b feature/YourFeature.
  3. Commit your changes: git commit -m 'feat: Add new feature'.
  4. Push to the branch: git push origin feature/YourFeature.
  5. Open a pull request.

Please ensure your code adheres to the project's coding standards and includes relevant tests. ๐Ÿงช

Semantic Versioning with Conventional Commits ๐Ÿ”„

This project follows semantic versioning. To simplify the release process, we use conventional commits. Please ensure your commit messages follow the conventional commit format.

License ๐Ÿ“

This project is licensed under the MIT License.

Happy coding with domaincrafters application! ๐Ÿš€โœจ


Emoticon Guide:

  • ๐Ÿš€: Represents the project's forward-thinking and dynamic nature.
  • ๐ŸŽฏ: Indicates focus on application layer and business logic.
  • โœจ: Highlights features and important sections.
  • ๐Ÿ“ฆ: Symbolizes installation or packaging.
  • ๐Ÿ“ค: Represents output or presentation of data.
  • ๐Ÿ“–: Denotes usage examples and documentation.
  • ๐Ÿค: Signifies collaboration and contributions.
  • ๐Ÿงช: Relates to testing and quality assurance.
  • ๐Ÿ“: Pertains to licensing information.

Feel free to adjust or add more emojis to better suit your project's personality and documentation style!

Built and signed on
GitHub Actions

Report package

Please provide a reason for reporting this package. We will review your report and take appropriate action.

Please review the JSR usage policy before submitting a report.

Add Package

deno add jsr:@domaincrafters/application

Import symbol

import * as application from "@domaincrafters/application";
or

Import directly with a jsr specifier

import * as application from "jsr:@domaincrafters/application";

Add Package

pnpm i jsr:@domaincrafters/application
or (using pnpm 10.8 or older)
pnpm dlx jsr add @domaincrafters/application

Import symbol

import * as application from "@domaincrafters/application";

Add Package

yarn add jsr:@domaincrafters/application
or (using Yarn 4.8 or older)
yarn dlx jsr add @domaincrafters/application

Import symbol

import * as application from "@domaincrafters/application";

Add Package

vlt install jsr:@domaincrafters/application

Import symbol

import * as application from "@domaincrafters/application";

Add Package

npx jsr add @domaincrafters/application

Import symbol

import * as application from "@domaincrafters/application";