- Notifications
You must be signed in to change notification settings - Fork189
It is my attempt to create Clean Architecture based application in TypeScript.
License
pvarentsov/typescript-clean-architecture
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
It is my attempt to create Clean Architecture based application in Typescript.
IPoster is a simple fictional application that allows users to publish posts.
- User
- Post
- Media
User -> IPoster
User
can createGuest
account inIPoster
User
can createAuthor
account inIPoster
User -> Media
Author
can create ownMedia
Author
can edit ownMedia
Author
can get ownMedia
Author
can get ownMedia
listAuthor
can remove ownMedia
User -> Post
Author
can create own draftPost
Author
can edit ownPost
Author
can attach an imageMedia
to ownPost
Author
can publish ownPost
Author
can get ownPost
Author
can get ownPost
listAuthor
can remove ownPost
Author
andGuest
can get publishedPost
Author
andGuest
can get list with publishedPosts
Docker
All necessary external services are described in the./docker-compose.local.yml:
- Run
docker-compose -f docker-compose.local.yaml up -d
- Stop
docker-compose -f docker-compose.local.yaml stop
Services:
- PostgreSQL -Credentials.
- Minio -Credentials.
- Run
Building
- Install libraries -
npm install
- Build application -
npm run build
- Install libraries -
Configuring
Configuring is based on the environment variables. All environment variables must be exposed before starting the application.Seeall environment variables.
Running
Start application -
npm run start
Expose./env/local.app.env and start application -
npm run start:local
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
- Prepare environment -
Libraries checking
- Show new libraries' versions -
npm run lib:check
- Upgrade libraries' versions -
npm run lib:upgrade
- Show new libraries' versions -
IDE
IntelliJ IDEA:
Visual Studio Code:
About
It is my attempt to create Clean Architecture based application in TypeScript.
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.