codestates / codestates/SoundBubble
[Dev_Log] 8/9 (월) 김재우
- Dominant language
- TypeScript
- Stars
- 3
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
### 오늘은 어떻게 프로젝트에 기여했나요?
주말에 연습한 타입스크립트+Express+TypeORM을 적용한 간단한 Node.js 서버를 실제 프로젝트에 필요한 부분만 옮기면서 서버를 구축하는 작업을 하였다. 서버 초기 구성을 하고 요청 메소드에 따라 빈 컨트롤러 함수와 엔드포인트를 연결하여 라우팅까지 적용하여 서버의 틀을 구성했다.
배포를 위해 EC2와 RDS를 생성하고, 서버를 자바스크립트로 트랜스파일하여 Git에 push하고 서버 구성 단계마다 pm2 명령을 이용해 EC2 환경에서 실행되는지 확인하였다.
### 오늘의 프로젝트에서 힘든 점은 무엇인가요?
* 설정 파일 경로 오류
서버를 자바스크립트로 트랜스파일하면, 특정 파일들이 설정 파일 경로를 못 찾아 실행이 안되는 문제가 발생하였다. src 폴더에 있는 타입스크립트를 트랜스파일링하면 dist 폴더에 자바스크립트 파일이 생성되도록 설정하였는데, 경로가 바뀌면서 생기는 문제라고 생각하여 문제가 생긴 파일에 직접 경로를 지정해주거나 설정을 통합하는 방식으로 해결하였다.
환경 변수 파일 .env 경로 명시
```js
import dotenv from "dotenv";
dotenv.config({ path: __dirname + "/./../.env" });
```
TypeORM 설정 파일 ormconfig.json → connectDB.ts 변경 및 경로 명시
```js
// ormconfig.json은 환경 변수를 사용할 수 없어서 .ts로 변경
// 환경 변수에 따라 development, production 옵션을 선택하여 다른 DB에 접속할 수 있도록 구성
const connectionOptions: DatabaseOptions = {
developtment: {
type: "mysql",
host: process.env.DATABASE_LOCAL_HOST,
port: Number(process.env.DATABASE_LOCAL_PORT),
username: process.env.DATABASE_LOCAL_USERNAME,
password: process.env.DATABASE_LOCAL_PASSWORD,
database: process.env.DATABASE_LOCAL_NAME,
synchronize: true,
logging: true,
entities: [__dirname + "/entity/**/*.{ts,js}"],
migrations: [__dirname + "/migration/**/*.{ts,js}"],
subscribers: [__dirname + "/subscriber/**/*.{ts,js}"],
cli: {
entitiesDir: "entity",
migrationsDir: "migration",
subscribersDir: "subscriber",
},
},
production: {
//...
},
},
};
// 이후 DB 연결
```
### 내일은 프로젝트에 기여하기 위해 무엇을 해야 하나요?
* [ ] 버블 업로드를 포함한 CRUD 컨트롤러 작성
* [ ] Express 함수의 타입 정의 학습
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.