이렇게 미뤄진 이유는 내가 모르는 것들이 너무나 많다고 느꼈고, 새로운 기술을 적용한 프로젝트를 해보고 싶었기 때문이다.
나의 첫 프로젝트는 부산 여행 정보 웹사이트 개발로, 부산 여행에 필요한 다양한 정보들을 제공하고 유저 간 후기를 공유하는 것을 목적으로 하며 Spring과 MyBatis, JSP를 사용하였다. 프로젝트 당시에는 MyBatis가 구체적으로 뭔지도 잘 몰랐고, 그저 JDBC를 더 수월하게 사용할 수 있는 방법인 줄만 알았으며 MyBatis보다 더 나아간 기술이 있는지조차 알지 못했다.
교육과정을 수료한 이후로는 혼자서 공부를 했는데, 공부를 하다 보니 계속 내가 모르는 것들이 튀어나오는 게 아닌가..?
도대체 JPA는 뭐고 Querydsl은 뭐지? 요즘 실무에서는 많이 쓰는 방식이라고? MyBatis는 거의 안 써..? 😳
이런 내가 무슨 일을 할 수 있겠어 난 아무것도 모르는 햇병아리 자식일 뿐인데 하하ㅏ😂
심지어 이력서의 프로젝트 부분을 쓰다가도 마음이 마구 답답해졌다.
이 프로젝트의 기술 스택은 이거 그리고 이거.. 그런데 왜 이 기술을 썼냐고 질문이 들어오면 어떡하지? 아는 게 이것뿐이라 한 건데? 근데 이렇게 대답할 수는 없잖아? 합격한 분들이 공개한 이력서들을 봐도 내가 모르는 기술뿐이야.. 이대로는 안된다..!!! 👉🏻 이런 생각이 연쇄적으로 들면서 어쨌든 지금은 더 많이, 깊이 있게 공부하는 것이 우선이라는 결론에 도달하게 된 것이다.
이러한 이유로 공부를 해서 프로젝트에 새로운 기술을 적용해 보자! 고 했지만 하다 보니 알아야 할 게 어마어마하게 많아서 시간이 오래 걸리게 되었단 이야기..
말이 길어졌지만 어쨌든 두 번째 프로젝트는 개인 프로젝트이고, Spring Boot와 JPA(Spring Data JPA + Querydsl)로 진행하려 한다.
또한 저번 프로젝트에서 아쉬운 점들이 많았기에 이번에는 그 점들을 보완하고자 설계를 더욱 꼼꼼히 하여 중간중간 변경사항이 크지 않도록 할 것이다. 어쩔 수 없이 바뀌게 되는 부분이 발생할 것 같지만..?
또한 다양한 API를 활용하고, 보안 문제도 고려하며 배포까지 할 계획이다.
프로젝트의 아이디어는 노래방에서 부를 노래에 대한 고민에서 출발했다.
나와 친구들은 코노를 자주 가는데 갈 때마다 '아 뭐 부르지?' 하며 음악 스트리밍 어플을 켠다. 하지만 평소 자주 듣는 노래와 노래방에서 부르고 싶은 노래는 전혀 달랐기에 결국 인기 차트만 계속 뒤적이는 것이다.
따라서 노래방에 등록되어 있는 노래를 검색하여 보관함에 담아 필요할 때 바로 찾을 수 있고, 나이와 성별 등에 맞춰 노래를 추천받을 수 있는 서비스를 개발하려고 한다.
요구사항 정리
먼저 노션에 요구사항을 정리했다.
표를 만들어 작성할까 싶기도 했지만 협업이 아니니 나만 알아봐도 충분할 것 같다는 생각이 들어 편하게 작성하였다.
페이지별 포함될 기능과 각 기능의 요구사항 등의 내용인데, 아직 폰트나 디자인적인 부분을 포함하여 매우 구체적인 것까지는 정하지 않은 상태다.
플로우차트 작성
플로우차트는 여러 번의 수정 끝에 일단 이렇게 완성은 되었으나.. 추가하고 싶은 기능이 생각나서 아마 좀 변경될 것 같다.