Figma에 그려진 대로 게시물을 올리고 서로 즐길 수 있는 커뮤니티를 만들었습니다.
- 회원가입 및 로그인 기능 회원가입과 로그인 시에 아이디, 비밀번호 등에 대한 유효성 검사를 실행하였고, 부족하다면 helper text를 띄웠습니다.
- 프로필 사진 기능 회원가입 시에 등록한 프로필 사진을 홈페이지 우측 상단에 띄울 수 있습니다.
- 게시물 등록 기능 로그인한 유저에 대해서 게시물을 등록할 수 있습니다.
- 게시물 수정/삭제 기능 게시물의 수정 삭제는 본인만이 가능하게끔 구현하였습니다.
- 댓글 등록/수정/삭제 기능 각 게시물에 귀속된 댓글을 등록할 수 있으며, 본인만이 본인이 단 댓글에 수정, 삭제의 권한이 있습니다. 댓글을 등록하게 되면 댓글 수가 증가하며, 삭제하게 되면 댓글 수가 감소합니다.
- 좋아요 기능 본인이 좋아요를 누른 게시글이라면 좋아요를 취소할 수 있고, 본인이 좋아요를 누르지 않은 게시글이라면 좋아요를 누를 수 있습니다.
- 조회수 기능 메인 페이지에서 게시글을 클릭하게 되면 조회수가 증가합니다.
- 나의 정보 수정 나의 닉네임, 패스워드를 수정할 수 있는 창을 만들지 못했습니다.
- 프로필 사진 용량 관련 지금 db의 역할로 localstorage를 사용하고 있어, 사진들을 저장함으로서 5mb를 넘게 되어 localstorage가 터지고 있습니다 (QuotaExceededError)
- 여러가지 css 관련 최대한 css를 비슷하게 구현하려고 노력하였지만 미비한 부분들이 존재합니다
- 가독성이 떨어지는 JS 구현 JS 파일을 만들 때 제가 필요한 부분들을 싹 다 getElementById로 grab하고 시작하였고, 하나 하나 eventListener 및 innerHtml 조작을 해주 었는데, 그러다보니 한 파일이 너무 방대해지는 것 같습니다. 그러다 보니 나중에 디버깅하기가 너무 어려웠습니다.(특히 post.js) 이게 프레임워크를 사용하지 않아서 어쩔 수 없이 생긴 건지 아니면 제 실력이 미숙해서인지 잘 모르겠습니다.
쉽지 않은 여정이었던 것 같습니다. 양이 생각보다 너무 많았던 것 같고, 최대한 LLM을 사용하지 않고 혼자서 만들려고 하다보니 실시간으로 늙는 것 같았습니다. 케빈이 말씀해 주신대로 예절주입이 제대로 된 것 같습니다. 또 일을 대충하는 것을 못참다 보니까 계속 일이 늘어지고, 시간도 너무 많이 흐른 것 같아서 좀 더 체계적으로 일을 하는 습관을 들여야된다고 생각했습니다.
하지만 쉽지 않았던 만큼 확실히 dom 조작, eventlistener 등등을 확실히 익힐 수 있었던 시간이었던것 같습니다. 또한 file upload 상에서 비동기 처리를 하지 않아서 어쩔때는 이미지 파일이 올라가고, 어쩔 때는 안올라갔었는데 이번 기회에 Promise, async await을 사용하여 비동기 처리를 해보아서 한 번 더 견고하게 개념을 익힐 수 있었던 것 같습니다.