It is my attempt to create Clean Architecture based application in TypeScript.
MIT License
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 -> IPoster
User
can create Guest
account in IPoster
User
can create Author
account in IPoster
User -> Media
Author
can create own Media
Author
can edit own Media
Author
can get own Media
Author
can get own Media
listAuthor
can remove own Media
User -> Post
Author
can create own draft Post
Author
can edit own Post
Author
can attach an image Media
to own Post
Author
can publish own Post
Author
can get own Post
Author
can get own Post
listAuthor
can remove own Post
Author
and Guest
can get published Post
Author
and Guest
can get list with published Posts
Docker
All necessary external services are described in the ./docker-compose.local.yml:
docker-compose -f docker-compose.local.yaml up -d
docker-compose -f docker-compose.local.yaml stop
Services:
Building
npm install
npm run build
Configuring
Configuring is based on the environment variables. All environment variables must be exposed before starting the application. See all 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
docker-compose -f docker-compose.test.yaml up -d
npm run test
npm run test:cov
Libraries checking
npm run lib:check
npm run lib:upgrade
IDE
IntelliJ IDEA:
Visual Studio Code: