diff --git a/README.md b/README.md
index 07f7a8b..df80c5f 100644
--- a/README.md
+++ b/README.md
@@ -1,19 +1,403 @@
-## skill
+
+
-- react.js
-- typescript
-- redux-toolkit
-- react-router-dom
-- styled-components
-- axios
+
+
+
+
+
-* custom hook (state관리 및 비즈니스로직 분리)
+
-## start
+## 📌 강아지 분양서비스 펫트리🐶
-`npm`
-`npm start`
+#### 프로젝트 기간 : 2023년 10월 ~ 진행중
-##
+### [🌎 웹사이트 바로가기](https://nextpetree.store/)
-내용 추후 추가예정입니다.
+
+
+## 📌 서비스 소개
+
+### 👥 페르소나
+
+👩🏻이현지 (26세)
+
+성별 : 여자
+
+직업 : 직장인
+
+“검증된 브리더에게 강아지를 입양받고 싶어요“
+
+직장인 현지는 강아지를 입양받고 싶지만, 강아지를 분양 받는 과정이 너무 복잡하고, 또 모르는 브리더에게 강아지를 분양 받는 것이 걱정이 됩니다.
+
+👦🏻김두식 (29세)
+
+성별 : 남자
+
+직업 : 전문 브리더
+
+“기초 지식이 있는 사람들에게 강아지를 분양하고 싶어요“
+
+전문 브리더 김두식씨는 강아지를 분양하길 원하지만, 혹시나 기초 지식도 없는 입양인에게 본인의 소중한 강아지가 입양될까 걱정이 됩니다.
+
+
+
+
+
+## 📌 시스템 아키텍쳐
+
+
+
+## 📌 기술 스택
+
+| **Language** |
+
+JavaScript, TypeScript
+
+| **Backend** |
+
+Node.js, Express.js, Mongoose
+
+| **Frontend** |
+
+React, StyledComponents, Redux-toolkit
+
+| **Communication** |
+
+Figma, Github, Slack
+
+| **Release** |
+
+Frontend : AWS S3, CloudFront, Route53
+
+BackEnd:
+
+
+
+## 📌 서비스 기능 명세
+
+### 유저기능
+
+1. 사용자는 회원가입시 브리더와 분양희망자를 선택할 수 있다.
+2. 사용자는 회원가입시 이메일과 닉네임 중복 확인을 할 수 있다.
+3. 사용자는 회원가입시 주력견종 선택을 할 수 있다.
+4. 사용자는 회원가입시 활동지역을 검색할 수 있고, 휴대전화로 본인인증이 가능하다.
+5. 사용자는 로그인시 일반 로그인, 카카오 로그인 선택이 가능하다.(최초 로그인 및 연동 필요)
+6. 사용자는 인증 테스트를 통해 반려동물에 대한 기초지식 인증을 받을 수 있다.
+7. 사용자는 강아지 모아보기를 통해 브리더가 등록한 강아지들을 확인할 수 있다.
+8. 사용자는 강아지 모아보기를 통해 브리더가 등록한 강아지들을 예약할 수 있다.
+9. 사용자는 강아지 모아보기를 통해 브리더가 등록한 강아지 중 분양 신청서를 작성할 수 있다.
+10. 사용자는 강아지 모아보기에서 필터 및 검색 기능을 사용할 수 있다.
+11. 사용자는 브리더 모아보기를 통해 등록된 브리더를 확인할 수 있다.
+12. 사용자는 브리더 모아보기를 통해 인증된 브리더 필터 및 검색 기능을 사용할 수 있다.
+13. 사용자는 브리더 모아보기 상세 기능을 통해 브리더에 대한 상세 정보를 확인할 수 있다.
+
+### 분양 희망자 마이페이지 기능
+
+1. 로그인 한 사용자는 분양신청 내역을 확인할 수 있다.
+2. 로그인 한 사용자는 분양신청 내역 검색을 할 수 있다.
+3. 로그인 한 사용자는 분양신청 승인 여부와 후기를 작성할 수 있다.
+4. 로그인 한 사용자는 작성한 후기를 관리할 수 있다.
+5. 로그인 한 사용자는 프로필 관리에서 주거환경 설정을 할 수 있다.
+
+### 브리더 마이페이지 기능
+
+1. 로그인 한 사용자는 분양신청 내역을 확인할 수 있다.
+2. 로그인 한 사용자는 분양 신청 내역 검색을 할 수 있다.
+3. 로그인 한 사용자는 분양신청 내역을 확인하고 승인 혹은 거절할 수 있다.
+4. 로그인 한 사용자는 보유견종을 관리할 수 있다.
+5. 로그인 한 사용자는 프로필 관리에서 주력견종 설정을 할 수 있다.
+
+### 마이페이지 공통 기능
+
+1. 로그인 한 사용자는 프로필 관리에서 이미지 수정과 자기소개를 작성할 수 있다.
+2. 로그인 한 사용자는 회원정보 수정에서 이메일과 휴대전화, 닉네임, 활동지역을 수정할 수 있다.
+3. 로그인 한 사용자는 비밀번호를 변경할 수 있다.(작성한 비밀번호 확인 가능)
+4. 로그인 한 사용자는 로그아웃을 할 수 있다.
+5. 로그인 한 사용자는 회원탈퇴를 할 수 있다.
+
+
+
+
+
+
+
+## 📌 실행 방법
+
+1. 레포지토리를 클론하고자 하는 디렉토리에서 아래 명령어를 수행
+
+```bash
+git clone <레포지토리 주소>
+```
+
+2. 클론한 디렉토리에서 frontend, backend디렉토리로 들어가 아래 명령어를 통해 각각각 필요한 module 설치
+
+```bash
+npm install
+```
+
+
+
+4. frontend에서 필요한 `.env` 설정
+
+```bash
+REACT_APP_API_URL=<백엔드url>
+```
+
+4. express 앱과 react앱을 실행
+
+```bash
+npm run start
+```
+
+
+
+## 📌 팀 구성원
+
+
+
+
+
+
+ 이름 |
+ 오창현 |
+ 김민준 |
+ 김용현 |
+
+
+ 역할 |
+
+ 로그인, 회원가입&탈퇴, 분양신청내역
+ |
+
+ 강아지, 브리더 모아보기
+ 프로필관리, 회원정보 수정
+ |
+
+ 강아지, 브리더 모아보기 상세
+ |
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/assets/images/kakao.png b/src/assets/images/kakao.png
new file mode 100644
index 0000000..5afd83a
Binary files /dev/null and b/src/assets/images/kakao.png differ
diff --git "a/src/assets/images/\354\225\204\355\202\244\355\205\215\354\262\230.png" "b/src/assets/images/\354\225\204\355\202\244\355\205\215\354\262\230.png"
new file mode 100644
index 0000000..4eabb80
Binary files /dev/null and "b/src/assets/images/\354\225\204\355\202\244\355\205\215\354\262\230.png" differ
diff --git a/src/component/KakaoCallback/KakaoCallback.tsx b/src/component/KakaoCallback/KakaoCallback.tsx
index 1d8ca61..2898efd 100644
--- a/src/component/KakaoCallback/KakaoCallback.tsx
+++ b/src/component/KakaoCallback/KakaoCallback.tsx
@@ -49,15 +49,13 @@ const KakaoCallback = () => {
sessionStorage.setItem("refreshToken", response.data.data.refreshToken);
navigate("/");
} else if (response.data.status === "FAIL") {
- Swal.fire(alertList.errorMessage("카카오에 연동된 계정이 없습니다."));
+ Swal.fire(alertList.errorMessage("연동된 기존 계정이 없습니다."));
navigate("/login");
return;
}
} catch (error) {
console.error("Kakao login error:", error);
- await Swal.fire(
- alertList.errorMessage("카카오 로그인 중 오류가 발생했습니다."),
- );
+ await Swal.fire(alertList.infoMessage("연동된 기존 계정이 없습니다."));
navigate("/login");
}
};
diff --git a/src/component/LoginContent/LoginContentStyle.ts b/src/component/LoginContent/LoginContentStyle.ts
index 231bbd6..9984fdd 100644
--- a/src/component/LoginContent/LoginContentStyle.ts
+++ b/src/component/LoginContent/LoginContentStyle.ts
@@ -2,6 +2,7 @@ import styled from "styled-components";
import { Link } from "react-router-dom";
import petTreeIconImage from "../../assets/icons/pets_black_24dp.png";
+import KakaoLogo from "../../assets/images/kakao.png";
export const Container = styled.div`
display: flex;
@@ -159,9 +160,13 @@ export const BasicLoginButton = styled.button`
`;
export const KakaoLoginButton = styled(BasicLoginButton)`
+ background-image: url(${KakaoLogo});
+ background-size: 30px;
+ background-repeat: no-repeat;
+ background-position: 20px center;
background-color: #fee500;
- color: #060606;
- margin-top: 10px;
+ margin-bottom: 20px;
+ color: #000;
`;
export const SignUpButtonArea = styled.div`