node.js 5

[프로젝트] 공동구매 마켓 프로젝트 최종 회고

🛒 개발 과정Node.js를 공부하고 백엔드의 역할을 맡아 공동 구매 쇼핑몰 프로젝트 개발에 참여했다.API 설계, DB 설계가 프로젝트를 하다보니 새롭게 느껴졌다. 이 프로젝트를 통해서 DB 개념의 중요성과 API 에 대해 많은 공부를 할 수 있었다.1) 주제누구나 공동구매를 주선할 수 있고, 물품을 구매할 수 있는 공동 구매 플랫폼2) 개발 인원풀스택 : 1명백엔드 : 2명프론트엔드 : 2명🙋‍♀️ 내가 구현한 기능백엔드ERD 설계API 명세서 작성찜 기능마이페이지 (개인 정보 수정/ 조회, 판매 내역, 주선 내역, 찜 내역 조회)💻 결과1) ERDerd 관계 설계하는데 어려움이 많았다. 그래서 프로젝트 마친 후, 리팩토링을 통해 ERD 관계 설정을 아래와 같이 수정했다.2) API 명세서다음과..

[Server] Node.js + MySQL로 찜 기능 만들기

공동 구매 마켓 프로젝트에서 찜하기 기능을 구현했다. 처음에는 어떻게 설계해야할지 고민이 많았는데 그 내용을 정리해보려고한다.1. 구현해야할 API 물품 찜하기 내가 찜한 물품 조회2. 테이블 설계CREATE TABLE Wishlists ( wishlist_id INT PRIMARY KEY AUTO_INCREMENT, -- 위시 리스트 ID (Primary Key) user_id INT NOT NULL, -- 사용자 ID (Foreign Key) product_key INT NOT NULL, -- 찜한 상품 ID (Foreign Key) created_at TIMESTAMP DEFAULT CUR..

[Server] sequelize를 이용한 중첩 조인

마이페이지 부분을 구현하며 sequelize 중첩 조인에 대해 머리가 아팠다. 내가 구매 등록한 물품에 대한 정보를 전달해야했는데 여기서 아래와 같이 중첩 조인을 사용했다.const user = await User.findOne({ where: { user_id: userId }, attributes: ['email', 'nickname'], include: [ { model: Order, attributes: ['product_key', 'quantity'], include: [ { model: Product, }, ], },..

[Web] MySQL + Node.js로 MVC 패턴 적용

저번에는 임시 DB를 이용해 MVC 패턴을 적용해보았다. 오늘은 MySQL을 연동하여 Node.js로 서버를 구현하는 법에 대해 알아보자. 1. MySQL이란?MySQL은 오픈소스 관계형 데이터베이스 관리 시스템이다. 데이터를 표(table) 형식으로 관리하고 SQL을 통해 데이터를 저장, 검색, 업데이트 삭제 (CRUD)를 할 수 있다.  2. MySQL 테이블 구축먼저, MySQL를 통해 방문록을 저장할 테이블을 구축해줘야 한다.  나는 다음과 같은 visitor 테이브를 작성해주었다. 여기서는 id와 name, comment를 저장하고 관리한다.CREATE TABLE visitor ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(10) NOT NU..

[Server] 임시 DB로 Node.js에서 MVC 패턴 연습하기

Node.js로 MVC 패턴을 연습해보자. 디자인 패턴을 사용하면 유지보수하기 좋고 협업에 효율적인 코드를 작성할 수 있다. 1. MVC 패턴이란MVC 패턴은 Model, View, Controller의 약자이다. 이는 세 가지 주요 구성 요소로 로직을 분리하여 개발하는 디자인 패턴이다. Model : 데이터와 비즈니스 로직을 관리View : 사용자에게 데이터를 표시, 여기서 View는 Model을 알지 못함Controller : 사용자 요청을 처리하고, Model과 View 연결을 처리 1-1. 의존성간단하게 설명하자면, 다음과 같은 과정이 이루어진다.사용자 요청 -> Controller -> Model -> Controller -> View -> 사용자 응답  2. 폴더 구성Node.js로 MVC 패..