토이프로젝트를 개발한 지 시간이 꽤 흘렀다.
하루하루 진행방식이나 느낀 점을 작성하려고 Day-?? 형식으로 포스팅을 시작했지만 어쩌다 보니 두 번째 포스팅이 마지막 포스팅 같은 느낌으로 작성하는 중이다.
프로젝트 진행상태는 당장 넣으려했던 기능들은 다 구현하고 퍼블리싱 쪽은 반응형 일부 빼먹은 것 말고는 끝이 났다.
기능 먼저 만들고나서 스타일을 넣었는데 넣다 보니 좀 아쉽거나 있어야 할 것 같은 기능들이 보이기 시작했지만..
그건 추후에 나머지 숙제 느낌으로 개발 해볼 예정이다.
우선 전반적으로 개발을 끝낸 현재 시점으로 느꼈던 점이 한두 가지 있는데 풀어보자면,
첫째로 API 부분이다.
next에서 제공하는 api 기능으로 진짜 완전 기본적인 예외처리만 있는 유치원생 수준의 api들을 만들어서 해보았는데,
기능이 필요할때마다 하나씩 증식해나가다 보니 뭔가 나중에 가면 관리하기가 힘들어질 것 같다는 생각이 들어서 따로 관리하는 법이라던지 효율적으로 예외처리(그만큼 프로젝트가 커질것같진않지만 연습 삼아..!)하는 방법에 대해 공부를 좀 해볼 예정이다.
두번째는 DB 이다.
Prisma 와 Planet Scale 을 같이 사용하였는데, 나중에 따로 포스팅할 예정이지만 정말 간략히
Planet Scale은 serverless형태로 DB를 제공하고 Prisma는 SQL 작성을 typescript로 하게 해주는 중간다리 역할이라 보면 된다.
또 Planet Scale은 git 처럼 branch 개념으로 관리할 수 있어서 뭔가 좀 편했다.
그리고 하다 보니 SQL문을 하나도 몰라서 검색해 가면서 해봤는데 좀 재밌더라 (풀스택 찍먹)
친구가 SQL의 꽃은 SELECT, JOIN이라던데 JOIN 한번 찍먹 해보니 신기하면서도 규모 커지면 머리 진짜 아플 것 같다는 생각이 좀 들었다. 나중에 프론트엔드 공부에 대한 권태로움이 생긴다면 자극 삼아 공부해봐야겠다~
세 번째는 소셜 로그인이다.
로그인 구현하는데 next.js 에서는 next-auth 와 iron-session 두 가지를 지원한다고 하는데, next-auth를 사용했다.
(둘의 차이점에 대해서는 따로 포스팅해보겠다.)
여하튼 구글로그인만 일단은 구현했는데, 로그인 클릭을 하면 리다이렉트 되는 화면의 디자인이 커스텀이 잘 안 돼서 다른 소셜로그인 기능을 추가하지 못하는 상태이지만 이 부분이 해결되면, 깃허브 로그인도 붙여볼 생각이다.
next-auth로 구글로그인 구현한 부분에 대해서도 뭔가 포스팅해봐야 할 것 같다.
마무리
적다 보니 토이프로젝트에 어떤 기능을 넣었는지 정도로도 추후 포스팅을 2~3개 이어갈 수 있을 것 같아서 이번 포스팅은 이쯤 하고 마무리 지으려고 한다.
느낀 점 :
토이프로젝트 하나 했을 뿐인데 새롭게 알게 된 것들이나 포스팅할 거리가 엄청나게 늘어났다.
왜 다들 회사 다니면서도 따로 사이드프로젝트를 해보라고 권유하는지 알게 되었다. 이번 토이프로젝트를 마무리 지으면 next 13 버전으로 개발블로그 만들어볼 예정이다.
'프로젝트' 카테고리의 다른 글
Next.js에서 server&client 토큰관리 기록 (0) | 2024.04.25 |
---|---|
[Toy Project] 이커머스 사이트 개발일지(Day1) (0) | 2023.01.19 |
적정수면시간 제공 서비스 "Sleepwell" (0) | 2021.06.05 |
Hobbygram(미니프로젝트) (0) | 2021.04.25 |
velog 클론코딩 (0) | 2021.04.09 |