이 프로젝트는 수어(한국 수화) 번역 웹사이트입니다.
GitHub에서 소스를 클론한 뒤, 터미널에서 아래 명령어로 필요한 라이브러리를 설치해 주세요.
npm install
※ 모든 요청과 응답은 JSON 형식입니다.
-
Endpoint: /api/login
-
Method: POST
-
Request Body:
{
"id": "user123",
"password": "mypassword"
}
- 성공 (200 OK):
{
"success": true,
"data": {
"token": "mocked-jwt-token",
"user": {
"id": 1,
"email": "user@example.com",
"nickname": "Mock User"
}
},
"message": "로그인 성공"
}
- 실패 (401 Unauthorized 등):
{
"success": false,
"message": "Invalid credentials"
}
Endpoint: /api/signup
Method: POST
Request Body:
{
"email": "user@example.com",
"password": "mypassword",
"nickname": "nickname",
"gender": "male" | "female" | "other",
"deaf": "Deaf" | "Hard to hear"
}
- 성공 (200 OK):
{
"ok": true
}
- 실패 (400 Bad Request):
{
"ok": false,
"message": "가입 실패 사유 설명"
}
-
Endpoint: /api/me
-
Method: GET
-
Headers:
-
Authorization: Bearer {token}
- 성공 (200 OK):
{
"uid": "user123",
"nickname": "홍길동"
}
- 실패 (401 Unauthorized):
{
"success": false,
"message": "Unauthorized"
}
src/
api/
authApi.jsx # api 관리
assets/ # 이미지 및 기타 정적 파일
(사진)
components/ # UI 컴포넌트
menu/
topMenu.jsx
studyMenu.jsx
button/
logoutButton.jsx
avatarButton.jsx
videoButton.jsx
layouts/ # 레이아웃 컴포넌트
basicLayout.jsx
pages/ # 페이지별 컴포넌트
/basicPage
mainPage.jsx
myPage.jsx
/loginPage
loginPage.jsx
signupPage.jsx
OAuth2RedirectHandler.jsx
/studyPage
studyPage.jsx
studySentence.jsx
studyWord.jsx
/translatePage
avatarPage.jsx
translatePage.jsx
videoPage.jsx
studyPage.jsx
translatePage.jsx
router/ # 라우터 관련 파일
protectedRouter.jsx
root.jsx
studyRouter.jsx
translateRouter.jsx
store/ # 상태 관리
authContext.jsx
index.css # 전체 스타일
main.jsx # 엔트리 포인트