yeomanda - 여행 가서 만나다

1 minute read

여행가서 만나다


안드로이드를 담당하는 친구와 같이 커리어를 쌓기 위해 여행 어플을 만들어보자 하여서 시작하였다.
단순한 개발이 아닌 test code를 동반한 프로젝트로, 실제 배포를 하여 유저들로부터 피드백을 받고 그에 따른 유지 보수까지 하기 위한 대학생활 파이널 프로젝트라고 임하고 시작하였다.

기획 : 혼자만의 시간을 갖고 싶어서 떠난 여행, 하지만 갑자기 외로워지면?
같은 여행지를 떠난 사람들을 이어주는 어플리케이션이다.

stack
  • front : android
  • back : nodejs
  • devops : ec2
  • databse : dynamodb, s3, rds-mysql
  • test tool : postman, tableplus



1. dynamodb
데이터베이스를 모두 aws에서 처리하고자 하였다. 처음에 회원정보를 저장하고 관리하기 위해 nosql 인 dynamodb를 사용해봤다. 그동안 nosql은 Mongodb를 사용했었지만, dynamodb는 약간 다른 점이 있었다.
  • dynamodb는 validation module이 없다.
  • 해싱함수를 통해서 사용자의 비밀번호를 해싱하였는데, 50글자 이상 넘어가면 안됐었다.
프리티어여서 그런지는 모르겠지만, 50글자가 넘어가니 저장되지 않았다. 또한 validation check 가 되지 않아서 프론트에서 따로 체크하거나 백엔드에서 따로 로직을 구현하여 확인해야 한다.

2. RDS - mysql
회원정보는 nosql로 저장하지만, 사용자 별로 갱신되는 정보(현재 위치 등)들을 저장하기 위해 관계형 데이터베이스를 쓰는 것이 효과적이라고 생각하여 이번에는 mysql을 사용하였다. 사실 postreql를 사용하고 싶었지만, free tier 를 제공하지 않는 탓에...

rds를 통해서 데이터베이스를 만들고 db instance에 접속하는데 2시간은 소비했다... 많은 레퍼런스를 찾아보고 따라하고 있었는데, 계속 접속이 안됐었다.
결국 정답은 aws 공식 레퍼런스였다. vpc 인바운드 규칙에서 내 ip로 접속이 가능하게 규칙을 추가적으로 만들어줬어야 했다.



위와 같은 세팅 후에 드디어 terminal로 접속이 가능해졌다. 물론 terminal로 작업하는 것이 중요하긴 하지만, database IDE를 사용하는 것도 중요해서 이번에 새롭게 tableplus 라는 IDE 를 사용하게 되었다.

하지만 여기서 또 엄청난 문제가 발생한다. 접속을 하기 위해 database name 을 작성하는 칸이 있는데 여기 있는 database와 aws rds에서 만든 database와 다른것이었다...
aws database는 단지 데이터베이스 서버 라고 생각하면 된다.
show databases; 를 통해서 확인한 데이터베이스는...


결국 create database travelers를 통해 프로젝트를 위한 데이터베이스를 따로 만들었다.

Categories:

Updated: