Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

It is my attempt to create Clean Architecture based application in TypeScript.

License

NotificationsYou must be signed in to change notification settings

pvarentsov/typescript-clean-architecture

Repository files navigation

It is my attempt to create Clean Architecture based application in Typescript.

License: MITBuild

IPoster

IPoster is a simple fictional application that allows users to publish posts.

Main Entities

  1. User
  2. Post
  3. Media

Use Cases

  • User -> IPoster

    1. User can createGuest account inIPoster
    2. User can createAuthor account inIPoster
  • User -> Media

    1. Author can create ownMedia
    2. Author can edit ownMedia
    3. Author can get ownMedia
    4. Author can get ownMedia list
    5. Author can remove ownMedia
  • User -> Post

    1. Author can create own draftPost
    2. Author can edit ownPost
    3. Author can attach an imageMedia to ownPost
    4. Author can publish ownPost
    5. Author can get ownPost
    6. Author can get ownPost list
    7. Author can remove ownPost
    8. Author andGuest can get publishedPost
    9. Author andGuest can get list with publishedPosts

Local Development

  • Docker

    All necessary external services are described in the./docker-compose.local.yml:

    • Rundocker-compose -f docker-compose.local.yaml up -d
    • Stopdocker-compose -f docker-compose.local.yaml stop

    Services:

    1. PostgreSQL -Credentials.
    2. Minio -Credentials.
  • Building

    1. Install libraries -npm install
    2. Build application -npm run build
  • Configuring

    Configuring is based on the environment variables. All environment variables must be exposed before starting the application.Seeall environment variables.

  • Running

  • Linting

    • npm run lint
  • Testing

    • Prepare environment -docker-compose -f docker-compose.test.yaml up -d
    • Run tests -npm run test
    • Run tests with coverage -npm run test:cov
  • Libraries checking

    • Show new libraries' versions -npm run lib:check
    • Upgrade libraries' versions -npm run lib:upgrade
  • IDE

About

It is my attempt to create Clean Architecture based application in TypeScript.

Topics

Resources

License

Stars

Watchers

Forks

Languages


[8]ページ先頭

©2009-2025 Movatter.jp