- Wevre는 Kream이라는 사이트의 한정판과 경매라는 두 가지 방식을 차용해 예술품이라는 한정판을 거래하는 웹 서비스입니다(기획 의도).
- WebSocket 프로토콜을 사용하여 실시간 경매방을 구현한 위코드 2차 프로젝트 Wevre를 HTTP 폴링을 포함한 Socket.IO 라이브러리로 리팩토링 했습니다.
- 개발 시 Socket.IO 라이브러리의 HTTP 폴링으로 실시간 경매방을 구현했으며 배포 시 스케일 아웃을 염두해 어댑터를 구현했으며 스티키 세션 활성화를 위해 쿠키를 사용했습니다.
- 또한 관계형 데이터베이스인 MySQL을 사용한 Wevre와 달리 리팩토링에서는 NoSQL 데이터베이스 MongoDB를 사용해서 NoSQL 데이터베이스의 특징과 쿼리를 체득하고 있습니다.
main 브랜치의 docker-compose.yml 파일을 docker compose up --build 명령으로 실행.
- 애플리케이션: http://localhost:3000, http://localhost:3001
- Redis 웹 인터페이스: http://localhost:8081
- MongoDB 웹 인터페이스: http://localhost:8082
- 단위 테스트: 애플리케이션 실행 후 docker compose exec app1/app2 npm run test 명령 실행.
- E2E 테스트: main 브랜치의 docker-compose.ci.yml 파일을 docker compose -f docker-compose.ci.yml up --build 명령으로 실행.
개발 |
---|
애플리케이션 실행 후 http://localhost:3000/api
https://whooa27.blogspot.com/search/label/wevre