Skip to content

100-hours-a-week/2-leo-kim-community

Repository files navigation

1. 개요

Figma에 그려진 대로 게시물을 올리고 서로 즐길 수 있는 커뮤니티를 만들었습니다.

2. 구현 사항

  1. 회원가입 및 로그인 기능
  2. 회원가입과 로그인 시에 아이디, 비밀번호 등에 대한 유효성 검사를 실행하였고, 부족하다면 helper text를 띄웠습니다.
  3. 프로필 사진 기능
  4. 회원가입 시에 등록한 프로필 사진을 홈페이지 우측 상단에 띄울 수 있습니다.
  5. 게시물 등록 기능
  6. 로그인한 유저에 대해서 게시물을 등록할 수 있습니다.
  7. 게시물 수정/삭제 기능
  8. 게시물의 수정 삭제는 본인만이 가능하게끔 구현하였습니다.
  9. 댓글 등록/수정/삭제 기능
  10. 각 게시물에 귀속된 댓글을 등록할 수 있으며, 본인만이 본인이 단 댓글에 수정, 삭제의 권한이 있습니다. 댓글을 등록하게 되면 댓글 수가 증가하며, 삭제하게 되면 댓글 수가 감소합니다.
  11. 좋아요 기능
  12. 본인이 좋아요를 누른 게시글이라면 좋아요를 취소할 수 있고, 본인이 좋아요를 누르지 않은 게시글이라면 좋아요를 누를 수 있습니다.
  13. 조회수 기능
  14. 메인 페이지에서 게시글을 클릭하게 되면 조회수가 증가합니다.

3. 미구현 사항 및 미비한 점

  1. 나의 정보 수정
  2. 나의 닉네임, 패스워드를 수정할 수 있는 창을 만들지 못했습니다.
  3. 프로필 사진 용량 관련
  4. 지금 db의 역할로 localstorage를 사용하고 있어, 사진들을 저장함으로서 5mb를 넘게 되어 localstorage가 터지고 있습니다 (QuotaExceededError)
  5. 여러가지 css 관련
  6. 최대한 css를 비슷하게 구현하려고 노력하였지만 미비한 부분들이 존재합니다
  7. 가독성이 떨어지는 JS 구현
  8. JS 파일을 만들 때 제가 필요한 부분들을 싹 다 getElementById로 grab하고 시작하였고, 하나 하나 eventListener 및 innerHtml 조작을 해주 었는데, 그러다보니 한 파일이 너무 방대해지는 것 같습니다. 그러다 보니 나중에 디버깅하기가 너무 어려웠습니다.(특히 post.js) 이게 프레임워크를 사용하지 않아서 어쩔 수 없이 생긴 건지 아니면 제 실력이 미숙해서인지 잘 모르겠습니다.

4. 회고

쉽지 않은 여정이었던 것 같습니다. 양이 생각보다 너무 많았던 것 같고, 최대한 LLM을 사용하지 않고 혼자서 만들려고 하다보니 실시간으로 늙는 것 같았습니다. 케빈이 말씀해 주신대로 예절주입이 제대로 된 것 같습니다. 또 일을 대충하는 것을 못참다 보니까 계속 일이 늘어지고, 시간도 너무 많이 흐른 것 같아서 좀 더 체계적으로 일을 하는 습관을 들여야된다고 생각했습니다.

하지만 쉽지 않았던 만큼 확실히 dom 조작, eventlistener 등등을 확실히 익힐 수 있었던 시간이었던것 같습니다. 또한 file upload 상에서 비동기 처리를 하지 않아서 어쩔때는 이미지 파일이 올라가고, 어쩔 때는 안올라갔었는데 이번 기회에 Promise, async await을 사용하여 비동기 처리를 해보아서 한 번 더 견고하게 개념을 익힐 수 있었던 것 같습니다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published