rimo030 / nestjs-e-commerce-frame

✏️ NestJS로 구현한 Commerce API
47 stars 1 forks source link
nestjs prisma typerom typescript

Nestjs E-commerce Frame

⭐프로젝트 소개

NestJS로 커머스 백엔드 API를 구현합니다.

회원가입, 상품 관리, 장바구니, 결제 등의 주요 API를 제공하여 쉽게 커머스 애플리케이션을 만들 수 있도록 합니다.


⚙️기술 스택

TypeORM이 적용된 코드는 refactor/typeorm 브랜치에서 확인할 수 있습니다!


분류 기술 스택
Language []()
Backend []() []() []() []()
DB []()
Testing []()
DevOps []() []() []()
Documentation []()


📍프로젝트 실행 방법

로컬에서 프로젝트를 실행하는 방법을 소개합니다.
TypeORM 코드의 경우 refactor/typeorm 리드미에서 별도로 확인 가능합니다!

1. 설치

$ git clone https://github.com/rimo030/nestjs-e-commerce-frame.git
$ cd nestjs-e-commerce-frame

$ npm install


2. env 작성

.env.example을 참고해 .env파일을 작성합니다.


3. DB 설정

mysql 컨테이너를 생성합니다.

$ docker-compose up -d

컨테이너에 접속해 데이터베이스를 생성합니다.

$ docker exec -it CommerceDB bash

$ mysql -u 계정이름 -p 비밀번호
$ create database commerce;


4. DB 스키마 생성

$ npx prisma db push


5. 서버 실행

$ npm run start

# dev
$ npm run start:dev


📍Swagger 접속 주소

http://localhost:3000/api


🔗ERD

ERD


✌️기술적 경험

이슈를 통해 여러 기술적인 내용을 논의하였습니다.
배운 내용은 잘 기억하고 나누기 위해 개인 블로그에 정리하고 있습니다!

📍Git

Git 이용한 첫 프로젝트입니다. 기초적인 clone, pull, push부터 cherry-pick, rebase등 Git의 여러 기능을 학습했습니다.
프로젝트에 Git-commit-convention과 Git-flow를 적용하였습니다.

학습 기록


📍Node.js / JS

Node.js 개발 생태계에 대해 배웠습니다.
근간이 되는 자바스크립트를 더 잘 이해하고자 블로그에 관련 도서나 자료를 읽고 정리하고 있습니다.

학습 기록


📍NestJS

NestJS를 이용한 첫 프로젝트입니다. DI와 계층 간 역할 분리의 개념에 대해 배울 수 있었습니다.

학습 기록


📍TS

타입스크립트를 심도 있게 공부하고자 노력합니다.
타입챌린지(rimo030/type-challenges)에 꾸준히 도전하여 100문제 이상 풀이했습니다.
관련 내용은 이슈와 블로그로 정리하고 있습니다!

학습 기록


📍DB

트랜잭션, 인덱스 등 데이터베이스의 이론적인 내용을 공부했습니다.


📍TDD

TDD의 개념을 배우고 프로젝트에 유닛테스트 및 e2e 테스트를 적용하였습니다.
좋은 테스트 코드가 무엇일지 고민하며 작성하고 있습니다.

학습 기록


📍TypeORM / Prisma

NestJS의 주요 ORM인 TypeORM과 Prisma를 모두 사용해 보면서, 기술 스택의 다양성을 가지게 되었습니다.

학습 기록