Skip to content

qldirr/SeSAC_2nd_project_back

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💎 리블링스(Lieblings)

SeSAC 영등포 6기 2차 프로젝트(240821~240912)

KakaoTalk_20241018_183735873

📃 리블링스 발표자료 PDF

📝 프로젝트 회고록 및 트러블슈팅


🔹 목차

  1. 프로젝트 소개
  2. 팀원 구성
  3. 개발 환경
  4. 설치 및 실행
  5. 브랜치 전략
  6. 시스템 아키텍처
  7. 팀내 역할
  8. 주요 테이블 설계
  9. 구현 기능
  10. 회고

프로젝트 소개

💕나의 구최애가 너의 현최애다, 너의 구최애가 나의 현최애다.

덕질의 즐거움을 함께 나누는 공간, 리블링스는 독일어로 '최애'를 의미합니다. 덕질의 열정은 시간이 흘러도 변하지 않습니다. 하지만 최애가 바뀌기도 하고, 새로운 애정을 찾기도 합니다. 저희 웹 사이트는 K-pop, 스포츠, 애니메이션, 영화/드라마, 게임, 스포츠 등 '다양한 덕질 분야의 물품을 중고 거래할 수 있는 공간'입니다.


팀원 구성

강예나 김어진 김지민 양태완 윤예슬 이다인
Profile
Role FE [팀장] BE, DevOps BE, DevOps FE, BE, DevOps FE FE
GitHub yenaf qldirr cmkoi1 behindy3359 errorose DAIN302

개발 환경

Languages

Frameworks

Libraries

Databases

Deployment

Development Environment and Tool

Communication Tools


설치 및 실행

### 사전 요구사항
- Node.js
- npm (Node Package Manager)

### 설치 단계

// 저장소 클론
git clone https://github.com/SeSAC-2nd/SeSAC-2nd-Back.git
cd [프로젝트 디렉토리]

// 의존성 설치
npm install

// .env 파일에 필요 환경 변수 설정
PORT=3000  # 애플리케이션이 수신 대기할 포트 번호
DB_HOST=your-database-host.rds.amazonaws.com    # 데이터베이스 호스트 주소
DB_USER=your_database_username   # 데이터베이스 사용자 이름
DB_PASSWORD=your_secure_database_password    # 데이터베이스 비밀번호
DB_NAME=your_database_name   # 데이터베이스 이름
DIALECT=mysql   # 데이터베이스 방언 (MySQL 사용)

SALTNUM=12   # 비밀번호 해싱을 위한 Salt 라운드 수
SESSION_SECRET_KEY=your_very_long_and_random_secret_key   # 세션 암호화를 위한 비밀 키

AWS_ACCESS_KEY_ID=AKIAXXXXXXXXXXXXXXXXX   # AWS IAM 사용자의 액세스 키 ID
AWS_SECRET_ACCESS_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx    # AWS IAM 사용자의 비밀 액세스 키
AWS_REGION=ap-northeast-2   # AWS 리전
S3_BUCKET_NAME=your-unique-s3-bucket-name   # S3 버킷 이름

//서버 실행
npm start

브랜치 전략

back

  Main branch
      └── dev
	    ├── frontDev
	    |  ├── feat/login
	    |  ├── feat/register
	    |  └── feat/post
	    |  └── feat/multer
	    |  └── hotfix/user

front

  Main branch
      └── dev ── fork
                  ├── Main branch
                  ├── dev
                  |  ├── MainPage
                  |  ├── RegisterPage
                  |  ├── SellersPage
                  |  ├── MyPage
                  |  ├── ···Page
                            ·
                            ·
                            ·

시스템 아키텍처


팀내 역할

  • 결제 처리 및 블랙리스트 관리 등 트랜잭션이 필요한 주요 로직 구현
  • 시스템 또는 애플리케이션의 전반적인 구조 설계 책임
  • 프론트엔드와 백엔드 간의 통신 및 데이터 처리 과정에서 발생하는 문제 해결
  • AWS 인프라 설정 및 유지보수 작업
  • DB 초기 설정 및 운영 관리
  • 서버 측 코드 베이스 및 환경 설정 작업

주요 테이블 설계

  • 회원(User) 테이블과 판매글(Post) 테이블 간 행위 테이블인 구매(Order) 테이블을 생성

구현 기능

판매자

  • 일반 회원이 판매글을 등록하고 싶다면 판매자 등록부터 진행
  • 판매글에 대해 주문이 생성되면 송장번호를 입력 -> 배송 상태가 '배송 중'으로 변경
  • 판매글이 '판매 예약' 상태면 판매글 수정 및 삭제 불가

구매자

  • 구매자는 판매글에 대해 찜 등록 및 삭제, 장바구니 담기, 판매글 신고 가능
  • 구매자가 결제를 진행하면 결제 대금이 관리자에게 전달
  • 주문 건에 대해 구매확정을 하면 결제 대금이 판매자에게 전달

관리자

  • 관리자는 일반 회원이 할 수 있는 판매 물품 찜 및 구매가 불가
  • 관리자가 특정 판매자를 블랙리스트에 추가할 경우, 해당 판매자의 '판매 완료'되지 않은 주문 건에 대해 구매자에게 환불 처리
  • 구매자가 결제를 진행하여 주문이 생성되면 결제 대금이 관리자에게 전달, 구매자가 구매한 물품을 '구매 확정'을 하면 결제 대금이 판매자에게 전달(관리자가 대금을 중개하는 역할)

로그인/회원가입



메인 페이지 및 소개 페이지



반응형


회고

이번 프로젝트는 제가 처음으로 프론트엔드와 백엔드로 포지션을 나누어 진행한 경험이었고, 프로젝트 기간이 짧지 않았던 만큼 팀원들과의 지속적인 소통의 중요성을 깊이 깨달았습니다.
특히, 프론트엔드 담당 팀원들과 화면에 데이터를 출력하는 구조에 대해 많은 논의를 진행했습니다.
이 과정에서 예외 처리와 응답 구조의 일관성이 얼마나 중요한지 깨달았으며, 프론트엔드와의 소통이 부족했던 부분을 보완해야 한다는 점을 느꼈습니다.
또한, 중간에 팀원이 교체되는 상황을 겪으면서 새로운 팀원과의 원활한 협업을 위해 문서화를 더욱 꼼꼼히 해야 한다는 교훈도 얻었습니다.

About

SeSAC 영등포 6기 2차 프로젝트(back)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%