-
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가 너무 쉬웠던 걸까...
platform.sh는 시행착오를 많이 겪었다. 우선 나는 Window환경이였는데 CLI를 설치하려면 Linux를 이용가능한 환경이 필요했다. 그래서 WSL이라는 윈도우에서 리눅스를 사용할 수 있는 툴을 받아서 설치했고 이 과정에서도 몇번 뚝딱거렸지만 잘 해결됐다. 그리고 platform.sh 구성에 필요한 파일들을 셋팅하고 있었는데, 내가 사용하는 라이브러리를 고르면 해당 코드가 자동으로 완성되고 코드를 옮겨적기만 하면 되는 일이였다. 그래서 MondoDB를 선택하고 올바르게 작성까지 완료했다(여기서 문제 발생). 그리고 Repository를 설정해주고, push까지하면서 배포가 끝났다.
이후 platform.sh 내 project에서 내가 설정한 환경변수들을 기입해주고 DB HOST나 PASSWORD같은 것들을 기입해주고 구동을 했는데.. 오류가 발생했다...내용은 DB에 접속이 불가하다는 내용이었고 배포 단계를 다시 차근차근 밟아보니
MongoDB가 옵션이 같은 이름으로 2개가 있었다...나는 아래쪽을 골랐었는데 상세코드를 보니 mongoDB:enterprise였다.
그래서 이게 잘못됐다싶어서 위쪽꺼를 고르고 코드를 다시 복사하고 커밋하고 푸쉬하고 배포했다.
DB에서는 network access가 걸려있었는데 0.0.0.0으로 풀어줬다. 이렇게 저렇게 우여곡절을 다 겪고 결국 해냈다....
느낀점
Back과 Front를 동시에 하는건 굉장히 어렵다...나는 Front가 잘맞고 내 주력이긴하지만, Back쪽도 겪어봐야한다는 생각에 이 프로젝트를 시작했다. 결과는 목표했던 것 그 이상을 얻은 느낌이다. REST API통신과 서버에서도 어떻게 동작하는지, 그리고 프론트쪽에서는 요청을 어떻게 보내고 받은 응답을 어떻게 다뤄야하는지 느낄 수 있었던 좋은 경험이었다.
하면서 코드를 작성하는 능력, 프로젝트 파일 구조화, 클린코드 등 여러 방면에서 스스로 향상됨을 느꼈다. 그리고 역시 구글링 최고다,,,사실 지금 프로젝트도 프론트쪽 모바일 최적화 등 디테일한 부분을 신경쓰면 할 게 좀 남아있긴 하지만 큰 틀은 다 마무리됐기때문에 여기서 마친다. Typescript를 공부할 예정이기에 타입스크립트 공부하면서 쉬는 시간에 CSS만 좀 가다듬어주면 될 것 같고, 크게 어렵지 않을 것으로 예상되기에 근거있는 마무리다.^^
프로젝트를 진행하다보면 내가 계획한 틀에 벗어난 이슈가 항상 생기기 마련이고, 나는 그걸 해결하기 위해 또 생각하고 고민하게 된다. 이런 문제들을 처리해나가면서 더 발전하는 나를 볼 수 있고 뿌듯하기도 하다. 코딩은 참 재밌는 일이다.
내가 하는 코딩이 나중에 누군가에게 큰 도움이 되길 바라며 더 숙련된 실력을 갈고 닦아야겠다!
이제 다음 포스팅들은 TypeScript를 공부하는 내용으로 ~!!
반응형'Project > 실시간 채팅 앱' 카테고리의 다른 글
로컬 버전 관리하기 (0) 2022.12.24 테스트 코드 작성과 모바일 환경 개선 (0) 2022.10.20 MongoDB 데이터 수정 및 삭제 완료,, (0) 2022.10.15 로그인 문제 해결 후 또 새로운 문제!!!!! (0) 2022.10.13 로그인 상태 유지하기 (0) 2022.10.12