starkoora / wanted-pre-onboarding-challenge-fe-1-api
- среда, 4 января 2023 г. в 00:37:20
Todo App
을 작성, 본인의 github에 Public
으로 올려주세요. (주의: Public이 아닐 경우 과제를 확인할 수 없습니다)wanted-pre-onboarding-challenge-fe-1
로 생성해 주세요.README.md
를 꼭 작성해 주세요. 본인에 대한 소개나 프로젝트 소개 등 자유롭게 작성해주시면 됩니다.* 문의 사항은 사전 과제 Repository의 Issue로 등록해 주세요.
@
, .
포함Todo List API를 호출하여 Todo List CRUD 기능을 구현해주세요
한 화면 내에서 Todo List와 개별 Todo의 상세를 확인할 수 있도록 해주세요.
한 페이지 내에서 새로고침 없이 데이터가 정합성을 갖추도록 구현해주세요
로컬 서버를 실행했을 때 생성되는 db/db.json
이 DB 역할을 하게 됩니다. 해당 파일을 삭제하면 DB는 초기화 됩니다.
로그인 / 회원 가입 기능은 유저를 DB에 추가하고 JWT 토큰을 응답으로 돌려줄 뿐, 실제 유저별로 Todo 목록을 관계 지어 관리하지는 않습니다. (모든 유저가 하나의 Todo를 가짐)
로그아웃은 클라이언트 단에서 localStorage에 저장된 token을 삭제하는 방식으로 간단히 구현해주세요.
> yarn
> yarn start # http://localhost:8080
/todos
{
"data": [
{
"title": "hi",
"content": "hello",
"id": "z3FGrcRL55qDCFnP4KRtn",
"createdAt": "2022-07-24T14:15:55.537Z",
"updatedAt": "2022-07-24T14:15:55.537Z"
},
{
"title": "hi",
"content": "hello",
"id": "z3FGrcRL55qDCFnP4KRtn",
"createdAt": "2022-07-24T14:15:55.537Z",
"updatedAt": "2022-07-24T14:15:55.537Z"
}
]
}
/todos/:id
{
"data": {
"title": "hi",
"content": "hello",
"id": "z3FGrcRL55qDCFnP4KRtn",
"createdAt": "2022-07-24T14:15:55.537Z",
"updatedAt": "2022-07-24T14:15:55.537Z"
}
}
/todos
{
"data": {
"title": "hi",
"content": "hello",
"id": "z3FGrcRL55qDCFnP4KRtn",
"createdAt": "2022-07-24T14:15:55.537Z",
"updatedAt": "2022-07-24T14:15:55.537Z"
}
}
/todos/:id
{
"data": {
"title": "제목 변경",
"content": "내용 변경",
"id": "RMfi3XyOKoI5zd0A_bsPL",
"createdAt": "2022-07-24T14:25:48.627Z",
"updatedAt": "2022-07-24T14:25:48.627Z"
}
}
/todos/:id
{
"data": null
}
/users/login
{
"message": "성공적으로 로그인 했습니다",
"token": "eyJhbGciOiJIUzI1NiJ9.YXNkZkBhc2RmYXNkZi5jb20.h-oLZnV0pCeNKa_AM3ilQzerD2Uj7bKUn1xDft5DzOk"
}
/users/create
{
"message": "계정이 성공적으로 생성되었습니다",
"token": "eyJhbGciOiJIUzI1NiJ9.YXNkZkBhc2RmYXNkZi5jb20.h-oLZnV0pCeNKa_AM3ilQzerD2Uj7bKUn1xDft5DzOk"
}