반응형

이 프로젝트는 ChatGPT 4.0과 제작되는 프로젝트이며 인터렉션 과정에서 나온 내용들을 포함하고있습니다.

 

자동화 매매를 위해 trade bot을 만들어보고자한다.

이때 다양한 기술 스택 전략이 있을텐데, 이번 트레이딩 봇은 server, client(trade bot), frontend 3가지의 내용을 한번에 제공하기 위해 ts기반 node를 이용하여 만들어보고자한다.

 

Server는 node express를 이용 (ORM 기반 프로젝트이기에 nest를 이용해도 됐을텐데  express가 편해서..) 

Client는 next를 이용 (cra보다 next를 이용하는게 훨씬 더 쉽다는 생각이 들었다)

trade bot은 upbit에서 제공하는 websocket을 이용하여 핸들링하고자 한다.

 

우선 이를 위해 프로젝트 생성이 필요하다.

 

1. 프로젝트 초기화: 먼저 새로운 폴더를 만들고 그 안에서 NPM 프로젝트를 초기화합니다.
2. TypeScript 설치: TypeScript와 필요한 TypeScript 타입들을 설치합니다.
3. Express 설치: Express와 그에 대한 TypeScript 타입을 설치합니다.
4. tsconfig.json 설정: TypeScript 컴파일러 설정을 정의합니다.
5. 기본 서버 파일 작성: Express 서버를 시작하는 기본 TypeScript 파일을 작성합니다.
6. NPM 스크립트 설정: 개발과 빌드를 위한 스크립트를 package.json에 추가합니다.

 

이제 각 단계별로 구체적인 명령어와 코드를 제공하겠습니다. 우선, 새 프로젝트 폴더를 만들고 해당 폴더에서 다음 명령어를 실행하여 NPM 프로젝트를 초기화합니다:

mkdir my-node-express-app
cd my-node-express-app
npm init -y

 

이후 TypeScript와 Express를 설치합니다:

npm install typescript express
npm install @types/node @types/express --save-dev

 

tsconfig.json 파일을 생성하고 다음과 같이 설정합니다:

{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "rootDir": "./src",
    "outDir": "./dist",
    "esModuleInterop": true,
    "strict": true,
    "skipLibCheck": true
  },
  "include": ["src/**/*"]
}

 

Express 서버를 시작하는 TypeScript 파일 (src/index.ts)을 작성합니다:

import express from 'express';

const app = express();
const port = 3000;

app.get('/', (req, res) => {
  res.send('Hello World!');
});

app.listen(port, () => {
  console.log(`Server running on port ${port}`);
});

 

 

마지막으로, package.json 파일에 빌드와 시작 스크립트를 추가합니다:

"scripts": {
  "start": "node dist/index.js",
  "build": "tsc",
  "dev": "ts-node src/index.ts"
}

 

위와 같이 만들면 우선 npm run dev를 통해 서버가 실행되는 것을 확인 할 수 있다.

 

반응형

'Project > Trade Bot' 카테고리의 다른 글

스캘핑 봇 개발 시 고려해야 할 핵심 요소  (0) 2024.01.24