위시리스트 통합관리 앱, 위시보드(Wishboard)
Timeline: 21.9.26 ~
TEAM: Hyeeyoung
- About Wishboard
- Contributors
- Feature
- Develop Environment
- API Documents 바로가기 Click✔
- ERD
- Architecture
- Dependencies Module
- Directory Structure
- Meeting Note
- Convention
화면 캡처나 페이지 즐겨찾기, 카톡 나에게 보내기는 이제 그만! Wishboard로 간편하게 위시리스트를 통합 관리해 보세요😉
여러 쇼핑몰 플랫폼에 흩어져있는 아이템들, 사고 싶은 아이템을 링크 공유로 Wishboard에 저장합니다. 저장 시 아이템의 재입고 날짜, 프리오더 날짜와 같이 상품 일정을 설정하면 알림을 보내줍니다.
구매할 아이템은 장바구니에 담아서 최종 결제 금액을 예상해보고, 폴더로 아이템을 보기 쉽게 정리할 수 있습니다!
분류 | 세부 기능 | 진척도 |
---|---|---|
auth |
회원가입 | ✔ |
auth |
로그인 | ✔ |
auth |
이메일 인증 | ✔ |
auth |
비밀번호 없이 로그인 | ✔ |
auth |
사용자 비밀번호 변경 | ✔ |
auth |
사용자 회원 정보 삭제 배치 작업 | ✔ |
item |
홈화면 및 상세화면 조회 | ✔ |
item , noti |
아이템 등록 및 알림 추가 | ✔ |
item , noti |
아이템 수정 및 알림 수정/추가/삭제 | ✔ |
item , folder |
아이템 수정 시 폴더 추가 | ✔ |
item |
아이템 파싱 정보 가져오기 | ✔ |
item |
아이템 삭제 | ✔ |
noti |
푸쉬 알림 설정 및 배치 작업 | ✔ |
noti |
알림 캘린더 조회 | ✔ |
cart |
장바구니 추가 | ✔ |
cart |
장바구니 수정 | ✔ |
cart |
장바구니 삭제 | ✔ |
cart |
장바구니 조회 | ✔ |
cart |
장바구니 공유 | 배포 이후 |
folder |
폴더, 폴더리스트, 폴더 내 아이템 조회 | ✔ |
folder |
폴더 추가 | ✔ |
folder |
폴더 수정 | ✔ |
folder |
폴더 삭제 | ✔ |
my |
사용자 정보 조회 | ✔ |
my |
사용자 정보 수정 | ✔ |
my |
회원 정보 탈퇴 | ✔ |
search |
검색 기능 | 배포 이후 |
김혜정 / Server | 최영진 / Android & Design |
- Develop
- Visual Studio Code
- Npm 6.14.16
- Node 16.13.2
- MySQL 5.7.37
- JavaScript
- DevOps
- AWS EC2 프리티어 (Ubuntu 18.04 LTS)
- AWS S3
- Nginx 1.14.0
- Git Action
- PM2 5.7.2
aws-sdk
,multer
,multer-s3
: 이미지 저장을 위한 작업시 사용bcrpytjs
: 회원 정보 저장 시 비밀번호 암호화를 위해 사용passport
,passport-local
,passport-jwt
,jsonwebtoken
: 회원가입 및 로그인 서비스 이용과 jwt 생성을 하여 클라이언트와 작업 시 사용dotenv
: 중요 비밀 정보 파일 저장을 위해 사용morgan
,winston
,winston-daily-rotate-file
: http 요청에 따른 log 파일 저장을 위해 사용node-schedule
: 회원 정보 탈퇴 배치 시 사용node-mailer
: 비밀번호 없이 로그인 시 이메일 인증을 위해 사용webpack
: build 파일 압축을 위해 사용axios
: 슬랙에 에러 메시지 보낼 때 또는 아이템 파싱 시 사용cheerio
: 아이템 정보를 파싱하여 클라이언트에게 전달할 때 사용
"dependencies": {
"app-root-path": "^3.0.0",
"aws-sdk": "^2.1145.0",
"axios": "^0.26.1",
"bcryptjs": "^2.4.3",
"cheerio": "^1.0.0-rc.10",
"dotenv": "^10.0.0",
"express": "^4.17.1",
"express-rate-limit": "^6.5.1",
"helmet": "^5.0.2",
"hpp": "^0.2.3",
"jsonwebtoken": "^8.5.1",
"lodash": "^4.17.21",
"morgan": "^1.10.0",
"multer": "^1.4.4",
"multer-s3": "^2.10.0",
"mysql2": "^2.3.0",
"node-schedule": "^2.1.0",
"nodemailer": "^6.7.2",
"passport": "^0.5.0",
"passport-jwt": "^4.0.0",
"passport-local": "^1.0.0",
"winston": "^3.5.1",
"winston-daily-rotate-file": "^4.5.5"
},
"devDependencies": {
"eslint": "^8.7.0",
"eslint-config-google": "^0.14.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^4.0.0",
"prettier": "2.5.1",
"webpack": "^5.65.0",
"webpack-cli": "^4.9.1"
}
📦src
┣ 📂config
┃ ┣ 📜db.js
┃ ┣ 📜passport.js
┃ ┣ 📜winston.js
┣ 📂controllers
┃ ┣ 📜authControllers.js
┃ ┣ 📜cartControllers.js
┃ ┣ 📜folderControllers.js
┃ ┣ 📜itemControllers.js
┃ ┣ 📜notiControllers.js
┃ ┣ 📜userControllers.js
┣ 📂dto
┃ ┣ 📜cartResponse.js
┣ 📂middleware
┃ ┣ 📜auth.js
┃ ┣ 📜handleError.js
┃ ┣ 📜mailTransport.js
┣ 📂models
┃ ┣ 📜cart.js
┃ ┣ 📜folder.js
┃ ┣ 📜item.js
┃ ┣ 📜noti.js
┃ ┣ 📜user.js
┣ 📂routes
┃ ┣ 📜index.js
┃ ┣ 📜authRoutes.js
┃ ┣ 📜cartRoutes.js
┃ ┣ 📜folderRoutes.js
┃ ┣ 📜itemRoutes.js
┃ ┣ 📜notiRoutes.js
┃ ┣ 📜userRoutes.js
┣ 📂utils
┃ ┣ 📜errors.js
┃ ┣ 📜response.js
┃ ┣ 📜sendMailMessage.js
┃ ┣ 📜strings.js
┣ 📜app.js
┃ 📜.eslintrc.js
┃ 📜.prettierrc.js
┃ 📜pacakge.json
┃ 📜pacakge-lock.json
┃ 📜webpack.config.js
┃ 📜ecosystem.config.js
hyeeyoung의 10개월 간의 발자취예요! Click ✔