diff --git a/README.md b/README.md index 5e1cb44..a8a53df 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,38 @@ ## 배포 사이트 [![Netlify Status](https://api.netlify.com/api/v1/badges/df0e144a-736d-44d7-be21-12d6c1573797/deploy-status)](https://app.netlify.com/sites/magical-babka-4591f3/deploys) - +### 접속 링크 **[TwoCircle(투써클 안경점)](https://magical-babka-4591f3.netlify.app/)** +## TwoCircle 프로젝트 소개 +REST API를 활용하여 Vanilla JavaScript로 제작한 안경 쇼핑몰입니다. +- 유저는 회원가입 및 로그인 후 상품 구매를 사용할 수 있으며 그 외 주문내역, 개인정보수정 등이 가능하고 계좌관리(계좌등록)을 통해 구매가 가능합니다. +- 관리자는 거래내역, 상품 등록, 등록 상품 내역을 볼 수 있고, 상품등록 및 수정, 거래취소 및 거래확정이 가능합니다. +- 404페이지 출력 시, 3초 뒤 메인화면으로 돌아갑니다 +- 사용자가 배너에 있는 버튼을 통해 라이트 모드와 다크 모드를 선택 할 수 있습니다 + +## 사이트 소개 +| 메인페이지(라이트)| 메인페이지(다크) | +|:---------:|:----------:| +| | | + +| 제품 페이지| 결제 페이지 | +|:---------:|:----------:| +| | | + +| 관리자 대시보드| 관리자 상품 관리 | +|:---------:|:----------:| +| | | +### 페이지 구성 +![페이지 구성](/image/%ED%8E%98%EC%9D%B4%EC%A7%80%20%EB%8B%A4%EC%9D%B4%EC%96%B4%EA%B7%B8%EB%9E%A8.png) + +### TwoCircle 작업과정 +[TwoCircle Issues](https://github.com/TwoCircle-Team5/TwoCircle/issues) +![TwoCircle Issues](/image/TwoCircle%20Issues.png) -## 작업기간 -23.01.30(월) ~ 미정 +### 작업기간 +23.01.30 ~ 23.03.10 -## 테스트 아이디 +## 테스트 계정 ### 사용자 ID : test@naver.com
PW : abcd1234 @@ -15,20 +40,17 @@ PW : abcd1234 ID : admin@naver.com
PW : abcd1234 -## 사이트 설명 (추가 예정...) - ## 프로젝트 멤버 및 작업 목록 |
박희수<조장>
|
김선미
|
송지윤
|
장현준
|
박현준
| |:--:|:--:|:--:|:--:|:--:| | | | | | | | [박희수](https://github.com/Nevacat) | [김선미](https://github.com/seon-mikim) | [송지윤](https://github.com/jiyoon29) | [장현준](https://github.com/hyeon17) | [박현준](https://github.com/johnphjkr) | -|
라우터 연결
로그인 및 회원가입 페이지
검색 및 태그에 따른 상품페이지 | 장바구니 페이지
위시리스트
마이페이지
계좌관리 페이지 | 메인페이지
관리자 페이지
전반적인 디자인 관리 | 제품 상세페이지
결제 페이지
결제 완료 페이지
관리자 유저 목록 페이지
관리자 대시보드 페이지
구매목록 페이지 구조 제작 및 디자인
카카오톡 공유
API 구조 제작
초기 라우터 구조 제작
Wiki 작성 | 정보 변경 페이지
구매목록 페이지 | +|
라우터 연결
로그인 및 회원가입 페이지
검색 및 태그에 따른 상품페이지 | 장바구니 페이지
위시리스트
마이페이지
계좌관리 페이지 | 메인페이지
관리자 페이지
전반적인 디자인 관리 | 제품 상세페이지
결제 페이지
결제 완료 페이지
관리자 유저 목록 페이지
관리자 대시보드 페이지
404(NotFound)페이지
구매목록 페이지 구조 제작 및 디자인
카카오톡 공유하기
API 구조 제작
라우터 구조 제작
Wiki 작성 | 정보 변경 페이지
구매목록 페이지 | ### 프로젝트의 기능구현 사항 📌 필수사항 - - [x] 제공된 API를 사용하여 해당하는 쇼핑몰을 구성하기. - [x] 회원가입 페이지를 제작하여 회원가입 기능 구현하기. - [x] 로그인 페이지를 제작하여 로그인 기능 구현하기. @@ -46,10 +68,8 @@ PW : abcd1234 - Bundler: `Parcel 1` ### 프로젝트 구조 - ``` TwoCircle -├─ .gitignore ├─ image ├─ index.html ├─ LICENSE @@ -65,6 +85,8 @@ TwoCircle │ │ └─ product_update.js │ ├─ admin_wrap.js │ ├─ header.js +│ ├─ notfound +│ │ └─ 404page.js │ └─ user │ ├─ account.js │ ├─ cart.js @@ -85,6 +107,7 @@ TwoCircle │ ├─ abstracts │ ├─ admin │ ├─ base +│ ├─ notfound │ └─ user ├─ source │ ├─ api @@ -118,6 +141,7 @@ TwoCircle │ │ │ └─ purchase_ok_api.js │ │ └─ requests.js │ └─ js +│ ├─ 404page.js │ ├─ account.js │ ├─ admin │ │ ├─ admin.js @@ -128,6 +152,7 @@ TwoCircle │ │ ├─ product_list.js │ │ ├─ product_update.js │ │ └─ user_list.js +│ ├─ bankImage.js │ ├─ cart.js │ ├─ event_badge.js │ ├─ header.js @@ -135,6 +160,7 @@ TwoCircle │ ├─ login.js │ ├─ main.js │ ├─ order_completed.js +│ ├─ pagination.js │ ├─ payment.js │ ├─ product_details.js │ ├─ product_list.js @@ -145,3 +171,12 @@ TwoCircle │ └─ wish_list.js └─ static ``` + +### 프로젝트 실행 방법 +``` +1. $ git clone https://github.com/TwoCircle-Team5/TwoCircle.git +2. $ cd TwoCircle-Team5 +3. $ npm i +4. root경로에 .env 파일 생성 후, api관련 정보(API_KEY, ADMIN) 입력 +5. $ npm run dev +``` \ No newline at end of file diff --git a/image/KBbank_logo.png b/image/KBbank_logo.png new file mode 100644 index 0000000..8710ef1 Binary files /dev/null and b/image/KBbank_logo.png differ diff --git a/image/Kbank_logo.png b/image/Kbank_logo.png new file mode 100644 index 0000000..e25f4fb Binary files /dev/null and b/image/Kbank_logo.png differ diff --git a/image/Kbank_logo.svg b/image/Kbank_logo.svg new file mode 100644 index 0000000..da47906 --- /dev/null +++ b/image/Kbank_logo.svg @@ -0,0 +1,20 @@ + + + + + + + + + + diff --git a/image/NHbank_logo.png b/image/NHbank_logo.png new file mode 100644 index 0000000..0f886d3 Binary files /dev/null and b/image/NHbank_logo.png differ diff --git a/image/NHbank_logo.svg b/image/NHbank_logo.svg new file mode 100644 index 0000000..11555b9 --- /dev/null +++ b/image/NHbank_logo.svg @@ -0,0 +1,13 @@ + + + + + + + diff --git a/image/TwoCircle Issues.png b/image/TwoCircle Issues.png new file mode 100644 index 0000000..7e13c0a Binary files /dev/null and b/image/TwoCircle Issues.png differ diff --git a/image/box.png b/image/box.png new file mode 100644 index 0000000..08a1a54 Binary files /dev/null and b/image/box.png differ diff --git a/image/hanabank_logo.png b/image/hanabank_logo.png new file mode 100644 index 0000000..b709c1f Binary files /dev/null and b/image/hanabank_logo.png differ diff --git a/image/hanabank_logo.svg b/image/hanabank_logo.svg new file mode 100644 index 0000000..bb348ba --- /dev/null +++ b/image/hanabank_logo.svg @@ -0,0 +1,20 @@ + + + + + + + + diff --git a/image/kakaobank_logo.png b/image/kakaobank_logo.png new file mode 100644 index 0000000..5821300 Binary files /dev/null and b/image/kakaobank_logo.png differ diff --git a/image/kakaobank_logo.svg b/image/kakaobank_logo.svg new file mode 100644 index 0000000..14fae15 --- /dev/null +++ b/image/kakaobank_logo.svg @@ -0,0 +1,11 @@ + + + + + + diff --git a/image/kbbank_logo.svg b/image/kbbank_logo.svg new file mode 100644 index 0000000..ada9f98 --- /dev/null +++ b/image/kbbank_logo.svg @@ -0,0 +1,28 @@ + + + + + + diff --git a/image/logo_dark.svg b/image/logo_dark.svg new file mode 100644 index 0000000..16b82e8 --- /dev/null +++ b/image/logo_dark.svg @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/image/main_logo.svg b/image/main_logo.svg new file mode 100644 index 0000000..bed6b21 --- /dev/null +++ b/image/main_logo.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/image/shinhanbank_logo.png b/image/shinhanbank_logo.png new file mode 100644 index 0000000..66e2f01 Binary files /dev/null and b/image/shinhanbank_logo.png differ diff --git a/image/shinhanbank_logo.svg b/image/shinhanbank_logo.svg new file mode 100644 index 0000000..3ea3046 --- /dev/null +++ b/image/shinhanbank_logo.svg @@ -0,0 +1,21 @@ + + + + + + diff --git a/image/usercount.png b/image/usercount.png new file mode 100644 index 0000000..4072c52 Binary files /dev/null and b/image/usercount.png differ diff --git a/image/won.png b/image/won.png new file mode 100644 index 0000000..2fe33ee Binary files /dev/null and b/image/won.png differ diff --git a/image/wooribank_logo.png b/image/wooribank_logo.png new file mode 100644 index 0000000..7cebe77 Binary files /dev/null and b/image/wooribank_logo.png differ diff --git a/image/wooribank_logo.svg b/image/wooribank_logo.svg new file mode 100644 index 0000000..b62845c --- /dev/null +++ b/image/wooribank_logo.svg @@ -0,0 +1,12 @@ + + + + + + diff --git "a/image/\352\262\260\354\240\234.png" "b/image/\352\262\260\354\240\234.png" new file mode 100644 index 0000000..6b78473 Binary files /dev/null and "b/image/\352\262\260\354\240\234.png" differ diff --git "a/image/\352\264\200\353\246\254\354\236\220_\353\214\200\354\213\234\353\263\264\353\223\234.png" "b/image/\352\264\200\353\246\254\354\236\220_\353\214\200\354\213\234\353\263\264\353\223\234.png" new file mode 100644 index 0000000..fdac89f Binary files /dev/null and "b/image/\352\264\200\353\246\254\354\236\220_\353\214\200\354\213\234\353\263\264\353\223\234.png" differ diff --git "a/image/\352\264\200\353\246\254\354\236\220_\354\203\201\355\222\210\353\246\254\354\212\244\355\212\270.png" "b/image/\352\264\200\353\246\254\354\236\220_\354\203\201\355\222\210\353\246\254\354\212\244\355\212\270.png" new file mode 100644 index 0000000..df03047 Binary files /dev/null and "b/image/\352\264\200\353\246\254\354\236\220_\354\203\201\355\222\210\353\246\254\354\212\244\355\212\270.png" differ diff --git "a/image/\352\264\200\353\246\254\354\236\220_\354\203\201\355\222\210\354\266\224\352\260\200.png" "b/image/\352\264\200\353\246\254\354\236\220_\354\203\201\355\222\210\354\266\224\352\260\200.png" new file mode 100644 index 0000000..cdb1c70 Binary files /dev/null and "b/image/\352\264\200\353\246\254\354\236\220_\354\203\201\355\222\210\354\266\224\352\260\200.png" differ diff --git "a/image/\353\251\224\354\235\270_\353\213\244\355\201\254.png" "b/image/\353\251\224\354\235\270_\353\213\244\355\201\254.png" new file mode 100644 index 0000000..40a250a Binary files /dev/null and "b/image/\353\251\224\354\235\270_\353\213\244\355\201\254.png" differ diff --git "a/image/\353\251\224\354\235\270_\353\235\274\354\235\264\355\212\270.png" "b/image/\353\251\224\354\235\270_\353\235\274\354\235\264\355\212\270.png" new file mode 100644 index 0000000..6c42490 Binary files /dev/null and "b/image/\353\251\224\354\235\270_\353\235\274\354\235\264\355\212\270.png" differ diff --git "a/image/\354\240\234\355\222\210\354\203\201\354\204\270\355\216\230\354\235\264\354\247\200.png" "b/image/\354\240\234\355\222\210\354\203\201\354\204\270\355\216\230\354\235\264\354\247\200.png" new file mode 100644 index 0000000..a4f32b9 Binary files /dev/null and "b/image/\354\240\234\355\222\210\354\203\201\354\204\270\355\216\230\354\235\264\354\247\200.png" differ diff --git "a/image/\355\216\230\354\235\264\354\247\200 \353\213\244\354\235\264\354\226\264\352\267\270\353\236\250.png" "b/image/\355\216\230\354\235\264\354\247\200 \353\213\244\354\235\264\354\226\264\352\267\270\353\236\250.png" new file mode 100644 index 0000000..a8d1358 Binary files /dev/null and "b/image/\355\216\230\354\235\264\354\247\200 \353\213\244\354\235\264\354\226\264\352\267\270\353\236\250.png" differ diff --git a/index.html b/index.html index 1612f92..a737862 100644 --- a/index.html +++ b/index.html @@ -1,38 +1,53 @@ + + + + + + + 투써클(TWO CIRCLE) - - - - - - - 투써클(TWO CIRCLE) + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - -
-
- - - \ No newline at end of file + +
+ + diff --git a/package-lock.json b/package-lock.json index 4d2ccf2..c606142 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,8 @@ "version": "1.0.0", "license": "ISC", "dependencies": { - "navigo": "^8.11.1" + "navigo": "^8.11.1", + "source": "^0.0.3" }, "devDependencies": { "parcel-bundler": "^1.12.5", @@ -4308,6 +4309,11 @@ "node": ">=0.10.0" } }, + "node_modules/findit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findit/-/findit-2.0.0.tgz", + "integrity": "sha512-ENZS237/Hr8bjczn5eKuBohLgaD0JyUd0arxretR1f9RO46vZHA1b2y0VorgGV3WaOT3c+78P8h7v4JGJ1i/rg==" + }, "node_modules/for-each": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", @@ -8508,6 +8514,17 @@ "node": ">=0.10.0" } }, + "node_modules/source": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/source/-/source-0.0.3.tgz", + "integrity": "sha512-R3sMIbB31pFhS5qmiPfY6RYae6DQM1y4rdFyvB4dlMc5+YJ9ZQos+GTYNmV1hyozgUUHz4aQIIm+nZM9oKMVNQ==", + "dependencies": { + "findit": ">=0.0.2" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -13042,6 +13059,11 @@ "to-regex-range": "^2.1.0" } }, + "findit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findit/-/findit-2.0.0.tgz", + "integrity": "sha512-ENZS237/Hr8bjczn5eKuBohLgaD0JyUd0arxretR1f9RO46vZHA1b2y0VorgGV3WaOT3c+78P8h7v4JGJ1i/rg==" + }, "for-each": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", @@ -16402,6 +16424,14 @@ "kind-of": "^3.2.0" } }, + "source": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/source/-/source-0.0.3.tgz", + "integrity": "sha512-R3sMIbB31pFhS5qmiPfY6RYae6DQM1y4rdFyvB4dlMc5+YJ9ZQos+GTYNmV1hyozgUUHz4aQIIm+nZM9oKMVNQ==", + "requires": { + "findit": ">=0.0.2" + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", diff --git a/package.json b/package.json index 2d0151e..22bfe9c 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ "sass": "^1.58.3" }, "dependencies": { + "chart.js": "^4.2.1", "chartjs-adapter-luxon": "^1.3.1", "luxon": "^3.3.0", @@ -31,5 +32,6 @@ }, "staticFiles": { "staticPath": "static" + } } diff --git a/pages/admin/admin_dashboard.js b/pages/admin/admin_dashboard.js index 643a75b..8594aa2 100644 --- a/pages/admin/admin_dashboard.js +++ b/pages/admin/admin_dashboard.js @@ -15,9 +15,9 @@ export function dashBoardRender() {

요약

-
-
-
+
상품
+
원화
+
유저수
@@ -34,10 +34,7 @@ export function dashBoardRender() {
-
- - -
+
diff --git a/pages/admin/admin_product_list.js b/pages/admin/admin_product_list.js index 08fa116..ed5cd59 100644 --- a/pages/admin/admin_product_list.js +++ b/pages/admin/admin_product_list.js @@ -2,7 +2,7 @@ import { adminProductList } from "../../source/js/admin/product_list"; export function adminPageRender() { const admin = document.querySelector("#admin"); - admin.innerHTML = /*html*/` + admin.innerHTML = /*html*/ `
@@ -30,7 +30,9 @@ export function adminPageRender() {

품절여부

+
+
`; adminProductList(); diff --git a/pages/admin/product_add.js b/pages/admin/product_add.js index cd2808e..50ad71f 100644 --- a/pages/admin/product_add.js +++ b/pages/admin/product_add.js @@ -10,21 +10,59 @@ export function adminProductAdd() {
-

제품이름

+

제품이름*

-

제품가격

+

제품가격*

-

제품 상세 설명

+

제품 상세 설명*

+
+

메인상품 진열

+
    +
  • + + +
  • +
  • + + +
  • +
  • + + +
  • +
+ 핫한 상품(6), MD 추천 상품(6), 신상품(12)까지만 보입니다. +

태그

- - 태그는 ', '로 구분해주세요 +
    +
  • + + +
  • +
  • + + +
  • +
  • + + +
  • +
  • + + +
  • +
  • + + +
  • +

제품 사진

diff --git a/pages/admin/product_update.js b/pages/admin/product_update.js index 21dd1dc..ee55730 100644 --- a/pages/admin/product_update.js +++ b/pages/admin/product_update.js @@ -25,10 +25,48 @@ export function productUpdate(id) {

제품 상세 설명

+
+

메인상품 진열

+
    +
  • + + +
  • +
  • + + +
  • +
  • + + +
  • +
+ 핫한 상품(6), MD 추천 상품(6), 신상품(12)까지만 보입니다. +

태그

- - 태그는 ', '로 구분해주세요 +
    +
  • + + +
  • +
  • + + +
  • +
  • + + +
  • +
  • + + +
  • +
  • + + +
  • +

제품 사진

diff --git a/pages/admin_wrap.js b/pages/admin_wrap.js index f49fc64..03ddb5b 100644 --- a/pages/admin_wrap.js +++ b/pages/admin_wrap.js @@ -1,13 +1,13 @@ -import { admin } from "../source/js/admin/admin"; +import { admin } from '../source/js/admin/admin'; export function adminWrap() { - const wrap = document.querySelector("#wrap"); + const wrap = document.querySelector('#wrap'); wrap.innerHTML = /* html */ `

- 로고 + + 로고

@@ -16,22 +16,20 @@ export function adminWrap() {
- - + `; admin(); -} \ No newline at end of file +} diff --git a/pages/header.js b/pages/header.js index c76cc94..7da1694 100644 --- a/pages/header.js +++ b/pages/header.js @@ -1,7 +1,10 @@ -import { router } from '../source/route'; +import { eventBadgeHandler } from '../source/js/event_badge'; +import { headerHandler } from '../source/js/header'; + export function headerRender() { const wrap = document.querySelector('#wrap'); + wrap.innerHTML = /*html*/ `
@@ -22,31 +25,32 @@ export function headerRender() {

- + +

@@ -80,44 +84,48 @@ export function headerRender() {

TEAM5
23.01.30
~ ING

- -

박희수

+ + 박희수 프로필 +

박희수

+
- -

김선미

+ + 김선미 프로필 +

김선미

+
- -

송지윤

+ + 송지윤 프로필 +

송지윤

+
- -

장현준

+ + 장현준 프로필 +

장현준

+
- -

박현준

+ + 박현준 프로필 +

박현준

+
- - - - - - - - - - - 최근 본 상품 - TOP +
+ DARK + + +
+
@@ -125,7 +133,10 @@ export function headerRender() {