당신의 하루를 정리해 보세요!
나간다 는 계획된 일정을 공유하고 정리할수 있는 서비스 입니다.
여행, 데이트 등 많은 검색을 하고 일정을 준비하셨나요?
파트너와 나간다 를 공유하고 의견을 나눠 보세요!
나간다는 트렐로를 모티브로 아이디어를 구상한 서비스 입니다. 칸반보드를 이용해 오전, 오후, 저녁 스케줄을 시간순서 & 중요도에 따라서 배치하고 지도api를 연결하여 파트너에게 위치까지 편리하게 공유할 수 있도록 하였습니다.
아이디어 회의를 하면서 최대한 많은 아이디어를 모아놓고 4주 프로젝트에 맞는 사이즈인지 먼저 확인 한 후 각 아이디어의 단점을 생각해 보면서 갯수를 줄여 나갔고 최종 다수결로 선택된 것이 나간다 입니다. 중요 포인트로 잡았던 기능이 칸반보드 + 지도 기반 애플리케이션 이며, 젊은 세대층을 겨냥하여 둥글둥글 한 디자인으로 결정하였습니다.
와이어프레임 작업이 마무리가 되어갈 쯤 Miro를 사용하여 워크플로우를 제작하였고 전체적인 흐름 이해에 도움이 되었습니다. 4주 프로젝트인 만큼 생각하던 기능이 많았는데, 서브 기능보다 기본적인 기능에 대해서 더 생각할 수 있었던 시간이였습니다.
데이터베이스 스키마는 nosql 인 mongodb를 사용했기 때문에 아래와 같이 나오게 되었는데, 처음 써보는 스택이라 스키마 구조를 정하는데 굉장히 많은 시간과 노력이 들어갔습니다. 페어와 계속 의견을 나눴고, 기능 구현을 하면서도 스키마 구조가 조금씩 수정되었습니다.
기능구현시 어떤 방식으로 데이터를 보낼지, 어떤 형태로 보낼지 등등 구현 전 선행되어야할 중요한 작업입니다. 효율성을 위해 백엔드에서 최대한 프론트 입장을 고려하여 초안을 작성하였고 이후 팀 회의 및 기능 테스트를 진행하면서 효율적인 api가 되도록 리팩토링 하였습니다.
저는 백엔드 포지션을 맡았고, 4주 프로젝트인 만큼 사이즈가 큰 서비스를 기획했기 때문에 새로운 스택을 가져가고 싶지만 도박은 하고싶지 않았습니다. 그래서 상대적으로 익숙한 node와 express를 사용하고, 데이터베이스를 SQL이 아닌 새로운 스택인 NoSQL을 사용하고자 했습니다. NoSQL 을 사용한 또다른 이유는 '나간다'는 많은 데이터를 읽어와야 하기때문에 속도 측면에서 빨라야 했고, 수직 확장이 아닌 수평확장을 해야 한다고 생각했기 때문입니다.
아래는 서비스를 만들기 위해 사용한 스택입니다!
cloudcraft 이용하여 제작하였습니다
1. 초기배포(http)
2. DB 및 스키마 생성
mongoose.connect("mongodb://localhost:27017/naganda", {
useNewUrlParser: true,
useUnifiedTopology: true,
});
3. 로직 구현
4. AWS 배포
좋아요 싫어요 api
카카오 소셜로그인
s3 업로드 에러
** 님 안녕하세요 :)
코드스테이츠 교육엔지니어 ***입니다.
프로젝트 배포가 잘 안되서 걱정하셨을 것으로 보여집니다.
.env 파일 안에
PUBLIC_URL = ./src/assets/images를 따로 설정하신 이유가 있으실까요??
현재 보여지는 문제로는 .env안에 설정된 경로로 인해 build시에 경로가 잘못 지정되는 현상으로 보여집니다.
build전에 .env파일내의 PUBLIC_URL = ./src/assets/images코드를 지우고 빌드해보실 수 있으실까요??
.env가 말썽일 줄은 상상도 못했는데.. 이후 배포시 .env 파일도 살펴봐야 한다는걸 알게되었다.
로드밸런서가 에러가 나는 이유는 주로 보안그룹입니다.
로드밸런서 및 EC2 인스턴스의 보안그룹을 확인해 보세요
정적 웹호스팅은 http 프로토콜만 지원합니다.
https 프로토콜을 사용하기 위해서는 프록시 혹은 AWS 클라우드 프론트를 이용해 보시는걸 추천드립니다.
인증서가 버지니아 북부리전에서 생성했다면, 도메인주소를 이용한 요청을 클라우드 프론트로 라우팅 할 수 있습니다.
s3 엔드포인트로 별칭 설정을 하면 https 연결이 안된다는 사실과 CloudFront를 이용해야 한다는것도 알게되었다.
CloudFront를 사용하는것 조차 쉽지 않았는데..
이때 알게 된 것을 간략히 소개하자면
4주 프로젝트가 끝나고 회고를 쓰는 이 시점에도 프로젝트 리팩토링과 마무리를 하는 팀원들에게 고맙다는 말을 전해주고싶다🌼
프로젝트를 진행하는 동안 성장했나? 라는 물음을 한다면, YES!!! 라고 대답할것이다. 기술적인 성장 외에 팀장을 맡으며 주도적으로 프로젝트를 컨트롤 하면서 약간의 느낀점이 있기 때문이다. 또한 부트캠프 초반에 클로저도 모른다고 페어한테 혼나고, 영알못이 공식문서 읽는다고 부담감을 견딘시간.. 그리고 울면서 테스트시험을 보던 내가 프로젝트를 무사히 끝내고 한사람의 개발자로서 사회에 나갈 준비가 되었다는게 뿌듯하다.
우리팀을 표현하는 단어가 있다면 "찰떡궁합" 일것이다. 부족한 팀장을 뒷받침 해주고 프로젝트가 잘 마무리 된 일등공신은 각각의 팀원들 때문이라고 할 수 있다. 팀 작업을 하면서 시너지 효과가 나는것이 이런걸까 라는 생각이 들 정도로 하루하루가 너무 즐거웠고, 이후 취업을 하더라도 이런 팀 분위기를 만들어가면 좋겠다 라고 생각이 들 정도였다.
제일 아쉽다고 생각한건 팀장으로써 마감일에 맞춰 작업 진행사항을 체크 하고 관리를 해야 하는데 이 부분을 제대로 하지 못한 것이 아쉽다. 또한 팀원들을 보면서 내가 부족한 사람이라는 걸 많이 깨달았는데 각각의 팀원들의 장점을 보면서 어떻게 나에게 적용할 수 있을지 고민을 했던 것 같다.