본문 바로가기

Back-end

Android Studio + Node.js + MySQL 프로젝트 파일 구조

반응형

파일구조 & Backend 시작

프로젝트 소개

공부목적으로 길 고양이들의 사진을 찍어서 위치와 사진을 공유할 수 있는 앱을 만들고 있다.
UI는 어느정도 만들었고 이제 DB와 서버를 연결시키는 작업을 시작하게 되어서 공부한 것을 정리하려고 한다.

앞으로

프로젝트를 진행하면서 공부하는것들을 기록하려고 한다.
전부는 아니지만 하면서 어려웠던 것(모듈 사용법, 개념 등)을 위주로 정리하려고 한다.

Node js 코딩 패턴

우선 아래 블로그를 참고해서 Routes-Controllers-Services 구조를 이용해서 Node를 구성하려고 한다.

Node.js 코딩 패턴 (Routes-Controllers-Services 구조)

위 파일 구조는 블로그를 참고해서 만들어본 파일 구조이다. 하나씩 구성을 보면,

server.js와 local.js는 express를 이용해서 localhost에 port 번호를 넣어서 서버를 만들고 사용할 router를 설정해준다.
server.js


local.js




다음으로 router이다.


router는 localhost:3000/test , localhost:3000/ 처럼 "/test"가 오면 어떤 행동을 할지 "/"가 오면 어떤 행동을 할지 길을 잡아주는 느낌이다.
나는 이러한 어떤 행동을 할지를 controller에 따로 설정해 주었다.

controller에서는 request를 처리해서 response를 보내주는 역할이다. default에는 서버를 실행해서 localhost:3000에 들어가면 "Express Lambda Example Server"를 출력해주도록 하였다.

pool.js에는 데이터베이스서버(mysql)와 nodejs서버를 연결해 주는 코드이다.


mysql2 모듈을 이용해서 연결해주는데, host이름과 port번호 user이름 password, 사용할 database이름을 넣어주었다. mysql2/promise는 async/await를 사용하기 위해서 사용하는 것이다.

services 부분은 controllers에서 들어온 요청에 따라서 적절한 데이터를 가져오는 역할을 한다.

queries에서는 services에서 사용되는 쿼리들을 모아서 정리함으로써 중복을 줄이려고 한다.

반응형

'Back-end' 카테고리의 다른 글

Slack으로 OAuth 사용하기  (0) 2022.10.31
[HTTP] 응답 상태 코드 정리  (0) 2021.09.14
[REST API]REST API란?  (0) 2021.08.29
[WEB] HTTPS와 SSL인증서  (0) 2021.08.29
[WEB] HTTP 정리  (0) 2021.08.29