러너효방

[Backend]Application SERVER 파일과 디렉터리 알고가기 본문

학습노트

[Backend]Application SERVER 파일과 디렉터리 알고가기

방효방 2023. 10. 19. 14:55

 

# MERN Stack
M (MongoDB): 데이터베이스
E (Express): 서버 프레임워크
R (React): 프론트엔드 프레임워크
N (NodeJS): 서버 개발언어

 

# MVC패턴

모델(데이터구조)-뷰(UI를 정의)-컨트롤러(로직처리) /  Model-view-controller

소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴



# 파일과 디렉터리
- index.js
Entry point (애플리케이션의 시작점)


- package.json
애플리케이션의 정보들


- .env (enviroment variables)
환경변수(애플리케이션에서 전체적으로 사용되는 변수)를 저장하는 파일 


- routes/
라우트 처리를 하는 파일들을 보관한다
라우트: 요청받은 url을 컨트롤러(로직처리)에 연결하는 역할을 한다


- controllers/
컨트롤러(로직 처리)
예) 클라이언트로부터 받은 데이터 처리, 데이터베이스에 쿼리 전송 등


- models/
데이터베이스 구조를 정의한다


- auth/
인증을 관리한다


- data/
유저가 업로드한 파일을 보관한다
예) 프로필 사진, 포스트 이미지

 

몽고DB 설치 하기

https://www.mongodb.com/home

 

MongoDB: The Developer Data Platform

Get your ideas to market faster with a developer data platform built on the leading modern database. MongoDB makes working with data easy.

www.mongodb.com

Products > Community Server > 기본값(Windows) - 다른플렛폼일 경우 설정 변경하기 > Download

 

환경변수 편집이 필요한 경우

https://hyobang.tistory.com/10

 

'formidable'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는배치 파일이 아닙니다.

설치하는 진행 # 현재 디렉터리를 nodejs 프로젝트 디렉터리로 만든다 social-media-app/server npm init # 필요한 package 설치 npm install cookie-parser cors dotenv express formidable jsonwebtoken mongoose passport passport-jwt -

hyobang.tistory.com

위 내용 참고 바랍니다.