> For the complete documentation index, see [llms.txt](https://archive-ko.docs.klaytn.foundation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://archive-ko.docs.klaytn.foundation/content/dapp/tutorials/count-dapp/3.-directory-structure.md).

# 3. Directory Structure

```
|-- contracts
|-- migrations
|-- truffle-config.js
|-- static  
|-- src  
    |-- styles
    |-- klaytn
      |-- caver.js
    |-- components
      |-- BlockNumber.js
      |-- Auth.js
      |-- Count.js
    |-- index.js
    |-- App.js
    |-- routes.js
```

`contracts/`: 컨트랙트의 소스 파일을 담고 있습니다.

`migrations/`: 컨트랙트 배포를 처리하는 자바스크립트 파일을 담고 있습니다.

`truffle-config.js`: 트러플의 환경설정 파일입니다.

`static/`: Contains static files such as images.

`src/styles`: CSS definition files.

`src/index.js`: Our tutorial app's index file. ReactDOM.render logic is here.

`src/App.js`: Our tutorial app's root component file.

`src/routes.js`: Contains route definitions.

`src/components`: 프론트엔드 컴포넌트 파일을 담고 있습니다.

* `src/components/BlockNumber.js`: Shows the current block number.
* `src/components/Auth.js`: Handles user login using either private key or a keystore with password.
* `src/components/Count.js`: Handles interaction with the deployed Count contract. Invokes contract functions using caver.js.

`src/klaytn`: Contains files that support interactions with the Klaytn.

* `src/klaytn/caver.js`: caver-js를 인스턴스화합니다. caver-js는 Klaytn 노드와 연결하여 해당 노드나 Klaytn에 배포된 컨트랙트와의 상호작용을 지원해주는 자바스크립트 RPC 호출 라이브러리입니다.
