moonstruck 개발일지: Next.js에 머리 안 들이박기

그른손·2024년 10월 22일
0

그른손아! 또 하기로 해놓고 안했느냐!

(저의 다른 대부분의 말처럼, 믿기지 않겠지만) 여기에는 이유가 있습니다. 그것은 Next.js가 너무 어렵다는 것입니다.
그거 말고 이유가 없다면 맞아야겠죠? 저는 맞지 않기 위해 다른 이유들도 준비해왔습니다

  • (아직까지는) Next.js가 필요한 프로젝트가 아니다: 요구사항은 말 그대로 요구사항입니다. 요구되지 않는 데 단지 써봐야겠다고 쓰면 어떻게 되냐면, '이거 SSR로 할 필요가 있나?' 하는 근본적인 문제에 부딪히는 것입니다. 그리고 저처럼 Next.js 쓰기로 해놓고 모든 걸 클라이언트 컴포넌트로 만들려고 하고 있는 상태가 되는 것이지요.
    따라서, Next.js는 이리보고 저리봐도 필요할 때 써보기로 합니다.
  • 내가 너무 멍청해졌다: 사실 이게 제일 큰 이유입니다. 놀랍게도, 제게는 퇴화할만한 실력이 있었던 모양입니다. 포트폴리오를 돌아보는데 '와 정말 코딩 잘한다'라는 생각이 든 걸 보면 상태가 조금 심각합니다. 따라서, 현재 쓸 수 있는 스택만으로 구현하고, 진짜로 필요성을 느낄 때 다른 스택을 추가하기로 했습니다.

그래서 일단은 리액트와 스타일링을 위한 styled-components만 가지고 프로젝트를 시작했습니다.
왜 스타일링을 테일윈드로 안하냐면, 저번에 포트폴리오 만들 때 테일윈드 썼다가 나중에 바닐라 익스트랙트로 마이그레이션하면서 게거품물고 피똥싼 경험이 있기 때문입니다. 테일윈드 문서를 뒤져가면서 클래스를 css로 바꾸는 건 전혀 유쾌한 경험이 아닙니다. 사실 잘 기억은 안나는데 유쾌하지 않았다는 것만 기억하고 있음

문명의 충돌은 최소화하는 게 좋겠죠 아마

아무튼! 필요할 거 같으니까 쓰기로 하자는 마인드를 버리고, 진짜 정말로 필요한 것만 쓰자는 마음가짐으로 정한 스택입니다

  • 리액트
  • react-router-dom
  • 타입스크립트 (이거는 솔직히 써야된다고 생각했음)
  • 스타일드-컴포넌트 (사실 아직 스타일링 단계 아니라 지금은 필요도 없긴 함)
  • es-툴킷 (유용한 유틸함수들이 많음)

개발 단계에 따라서 여기에 필요한 것들이 추가가 되겠죠 아마

그리고 간단하게 작성한 기능목록은 다음과 같스빈다

moonstruck에서 할 수 있어야 하는 필요 최소한의 기능

  • 스프레드 정하기 (싱글, 트리플 등... 뽑을 카드 수)
  • 랜덤 카드 뽑기 (정해진 스프레드 수 만큼 타로카드를 뽑기)
  • 사용자 입력 받기 (당연히! 있어야함)
  • 사용자 입력값과 뽑힌 카드를 모델에 전달하기
  • 모델의 타로 해석을 받아와서 띄워주기

일단 이것만 동작해도 AI가 내 고민을 받아서 타로점을 봐주는 서비스라는 최소한의 기능은 동작합니다.

그 이후에는 예를 들어 타로를 봐주는 캐릭터를 여러 개 두고 정하는 기능이라든가, 타로 해석의 방향성을 프롬프트로 전환한다든가, 해석 결과를 프로필에 저장하고, 계정 생성과 로그인, 계정별로 24시간마다 업데이트되는 크레딧 기능(저는 거지니까요) 등등...을 추가할 수 있겠죠

아무튼 그럴겁니다
그럼이만수고바위

profile
프론트엔드 개발자

0개의 댓글