Skip to content

25-2 오픈SW플랫폼 기말 팀프로젝트 과제

License

Notifications You must be signed in to change notification settings

sexypoo/openSWPlatform

Repository files navigation


https://openswplatform.onrender.com

💡 기술 블로그 바로가기 💡

[개념] UI는 어떻게 서버 데이터와 연결될까? FE-BE 연결 구조를 중심으로

[디버깅] 다중 이미지 업로드와 슬라이드 디버깅

[가이드] GitHub Desktop 설치와 사용법 (Feat. PyCharm)

[해설] CSS Grid와 Jinja2로 깔끔한 '리뷰 목록' UI 개발하기

[해설] 간단하지만 위험한 백엔드는 그만! 백엔드 시큐어 코딩 적용기



0. Getting Started (시작하기)

Firebase 설정

authenticatin/firebase_auth.json 추가

실행

$ python app.py


1. Project Overview (프로젝트 개요)

  • 프로젝트 이름: Ewha Market
  • 프로젝트 설명: 이화여대 학생들의 편리하고 안전한 중고거래 플랫폼


2. Team Members (팀원 및 팀 소개)

박고은 이민경 김은규 오서현 채서윤
박고은 이민경 김은규 오서현 채서윤
PL(BE) BE FE FE FE
GitHub GitHub GitHub GitHub GitHub


3. Key Features (주요 기능)

  • 회원가입:

    • 회원가입 시 DB에 유저정보가 등록됩니다.
  • 로그인:

    • 사용자 인증 정보를 통해 로그인합니다.
  • 상품 등록:

    • 판매하고 싶은 상품의 정보를 등록합니다.
    • 이미지를 총 3개까지 등록할 수 있습니다.
  • 상품 조회:

    • 유저들이 올린 상품을 조회할 수 있습니다.
    • 태그/카테고리 별 필터링이 가능합니다.
    • 세부 조회에서 상품 구매/리뷰 작성이 가능합니다.
  • 리뷰 작성:

    • 유저들이 올린 상품의 리뷰를 작성할 수 있습니다.
    • 상품을 통해 리뷰를 작성할 수도 있고, 개별 리뷰를 올릴 수도 있습니다.
    • 이미지를 총 3개까지 등록할 수 있습니다.
  • 리뷰 조회:

    • 유저들이 올린 리뷰를 조회할 수 있습니다.
  • 마이페이지:

    • 마이페이지에서 회원정보를 수정할 수 있습니다.
    • 판매 내역, 구매 내역, 위시리스트 목록 등을 보고 관리할 수 있습니다.


4. Tasks & Responsibilities (작업 및 역할 분담)

박고은 박고은
  • 프로젝트 계획 및 관리
  • 팀 리딩 및 커뮤니케이션
  • 리뷰 CURD 개발
  • 마이페이지 기능 개발
  • 기타 BE 개발
이민경 이민경
  • 상품 CRUD 개발
  • 로그인/회원가입 개발
  • 기타 BE 개발
김은규 김은규
  • 상품 등록 페이지 개발
  • 상품 전체 조회 페이지 개발
  • 상품 상세 조회 페이지 개발
  • 기타 FE 개발
오서현 오서현
  • 리뷰 등록 페이지 개발
  • 리뷰 전체 조회 페이지 개발
  • 리뷰 상세 조회 페이지 개발
  • 기타 FE 개발
채서윤 채서윤
  • 회원가입 페이지 개발
  • 로그인 페이지 개발
  • 마이페이지 개발
  • 메인페이지 개발
  • 기타 FE 개발


5. Technology Stack (기술 스택)

5.1 Frontend

HTML5 HTML5
CSS3 CSS3
Javascript Javascript

5.2 Backend

Flask Flask
Firebase Firebase

5.3 Cooperation

Git git
Notion Notion

6. Project Structure (프로젝트 구조)

프로젝트 구조

openSWPlatform/
├── LICENSE
├── README.md
├── backend
│   ├── ProductForm.py
│   ├── ReviewForm.py
│   ├── __init__.py # 블루프린트 설정
│   ├── auth.py # 회원가입, 로그인 인증 기능
│   ├── pages.py # page 라우팅
│   ├── products.py # 상품 관련 기능
│   ├── reviews.py # 리뷰 관련 기능
│   ├── user.py # 마이페이지 관련 기능
│   └── wish.py # 위시리스트 기능
├── app.py
├── authentication
│   └── firebase_auth.json
├── database.py # DB Handler
├── static
│   ├── css
│   │   ├── common_style.css # 공통 스타일
│   │   ├── product_style.css # 상품 관련 스타일
│   │   ├── review_style.css # 리뷰 관련 스타일
│   │   └── userhome_style.css # 마이페이지 관련 스타일
│   ├── main.js # 공통 js
│   └── mypage_common.js # 마이페이지 공통 js
└── templates
    ├── edit_product.html
    ├── index.html
    ├── layout.html
    ├── login.html
    ├── mypage
    │   ├── _buyList.html
    │   ├── _myreview.html
    │   ├── _profile.html
    │   ├── _sellList.html
    │   └── _wishlist.html
    ├── mypage.html
    ├── product_detail.html
    ├── products.html
    ├── reg_product.html
    ├── reg_reviews.html
    ├── review.html
    ├── review_detail.html
    ├── signup.html
    └── wishlist.html


7. Development Workflow (개발 워크플로우)

브랜치 전략 (Branch Strategy)

우리의 브랜치 전략은 Git Flow를 기반으로 하며, 다음과 같은 브랜치를 사용합니다.

  • Main Branch

    • 배포 가능한 상태의 코드를 유지합니다.
    • 모든 배포는 이 브랜치에서 이루어집니다.
  • {name} Branch

    • 팀원 각자의 개발 브랜치입니다.
    • 모든 기능 개발은 이 브랜치에서 이루어집니다.


8. 커밋 컨벤션

기본 구조

type : subject

body 

type 종류

feat : 새로운 기능 추가
fix : 버그 수정
docs : 문서 수정
style : 코드 포맷팅, 코드 변경이 없는 경우
refactor : 코드 리펙토링

커밋 예시

== ex1
✨Feat: "회원 가입 기능 구현"

아이디 중복확인 기능 개발

== ex2
📚refactor: product 관련 변수 이름 통일

items와 products 변수 혼용 통일

About

25-2 오픈SW플랫폼 기말 팀프로젝트 과제

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 5