Project/실시간 채팅 앱
-
로컬 버전 관리하기Project/실시간 채팅 앱 2022. 12. 24. 11:03
내가 만들었던 snichat 서비스를 종료했다. 어디에 홍보하거나 그런 건 아니지만 배포를 중단했다. 가장 큰 이유는 기존에 서버배포를 위해 사용했던 platform.SH에서 계속 유지하려면 돈을 내야 했기 때문에 접었다. 그래도 MondoDB에서는 Data를 받아올 수 있기 때문에 클라이언트 baseURL만 localhost로 변경해서 로컬에서 동작할 수 있는 방식으로 바꿨다. 이런 상황이 발생할 수 있기 때문에 앞으로도 로컬버전에서 작업을 끝내면 새로운 branch로 배포작업을 진행하는 게 좋겠다고 느꼈다.
-
테스트 코드 작성과 모바일 환경 개선Project/실시간 채팅 앱 2022. 10. 20. 20:14
테스팅 코드를 작성했다. 라이브러리는 cypress를 사용했는데 꽤나 편리하고 좋다. Cypress에 대한 사용법은 간략하게 test-code카테고리에 업로드 할 예정이다. 테스트는 E2E Test로 진행했으며 여기서 E2E란 완성단계에 있는 프로젝트를 직접 동작하면서 진행하는 test이다. 유닛테스트보다는 더 상위단계에 있는 테스트로 애초에 진행할 때 TDD로 하지 않았기 때문에 E2E로 진행했다. render Test는 접속이 잘 되느냐에 관한 TEST이다. 페이지에 접속하여 Render가 되면 상단 로고인 SniChat을 찾는 코드를 작성했다. send a message는 실제로 메세지를 보내는 기능인데 핵심기능이라고 할 수 있다. 접속 후 list에 있는 item 중 첫번째 요소를 클릭하여 Thi..
-
Snichat 개발부터 배포까지,,Project/실시간 채팅 앱 2022. 10. 18. 23:12
Snichat 배포까지 끝났다. 프론트는 기존에 사용하던 Netlify로 했는데 역시 편하고 좋다. 그리고 환경변수 설정할 때도 Vanila JS는 dotenv나 따로 JS파일을 만들어서 사용했어야했는데 React는 그냥 .env파일에 입력하면 바로 적용돼서 편했다. Translator만들 때 겪었던 불편함을 하나도 겪지 않고 해결해서 좋았다. 서버는 MongoDB에 Data를 옮기고 platform.sh를 이용해서 배포했다. 내가 생각하기에 서버쪽이 훨씬 복잡한 것 같다. 나는 처음에 MongoDB에 올리기만 하면 배포도 거기서 같이 할 수 있을 줄 알았는데 MongoDB는 정말 DataBase였다. 그래서 온라인 강의에서 사용하던 platform.sh를 나도 사용해봤다. Netlify가 너무 쉬웠던 ..
-
MongoDB 데이터 수정 및 삭제 완료,,Project/실시간 채팅 앱 2022. 10. 15. 11:48
전에 몽고db에서 원하는 listName에 접근할 수 없었는데 그 이유를 찾아냈다. 첫번째로 ""를 이용해서 접근하는 방식이 잘못됐고, lists라는 오브젝트 안에 또 배열로 이뤄져있었기때문에 접근이 어려웠다. 이게 무슨말이냐면 lists라는 큰 틀안에 작은 list안에 listMsg가 들어있었는데 find로 listName과 일치하는 data를 찾으면 lists전체를 return해줬다. 왜냐면 lists콜렉션 안에 채팅리스트가 들어있는 단 하나의lists만 있었기 때문에 이 하나를 리턴해준 것이다.... 역시 코드는 잘못이 없다...,, 그래서 이 lists를 하나로 두지 않고 각각 list를 따로 업데이트 해줌으로써 3개의 각 채팅방에 고유의 id를 부여받았다. 그리고나서 query를 이용해 일치하는..