본문 바로가기

프로젝트/잔소리

[잔소리 프로젝트] 쉬어가는 챕터 - 생각보다 쉽지 않은 상황

반응형

들어가는 말

이번 시간은 좀 쉬어가는 챕터 형식으로 현재 어떤 부분이 문제가 되고 있는가, 어떻게 개선해 나갈 것인가 등을 고민해보는 시간을 가져볼까 합니다.

 

오직 개발에만 집중하고 싶은데, 현실적인 부분을 고려하지 않을 수 없어서 최대한 시간을 절약해 가면서 개발 중인데요. 그 외에도 개발적인 부분에서 어떤 부분이 어렵게 다가왔고, 고려중인 부분인지 정리해볼까 합니다.

 

생각 보다 쉽지 않은 API 연동

생각 보다 애드센스 API 를 사용하여 필요한 데이터를 가져오는 과정이 순탄하지 않습니다. 너무 만만하게 보았던 것인지, 애드센스 API 를 NextJS 환경에서 직접적으로 다루는 기술 블로그도 찾을 수 없고, 참고할 만한 자료도 파이썬이나 PHP 를 사용한 예시만 있어서 오직 단편적인 방식으로 제공되어 있는 공식문서를 최대한 활용할 수 밖에 없는 상황이었습니다.

 

인공지능의 도움을 받아보고자 했지만, 너무 옛날 자료를 기반으로 설명해줘서 레거시 된 부분 때문에 큰 도움이 되지는 않았습니다. 물론 큰 틀을 잡는 것에는 도움이 되었지만, 레거시되어 더 이상 지원하지 않는 코드를 던져주니 괜히 혼란만 가중되었던 것 같습니다.

 

그럼에도 안 되면 될 때 까지 하면 안 될 일도 없는 것 같습니다. 결국 API 를 연동하여 애드센스 계정으로 부터 필요한 데이터를 얻어 올 수 있었습니다. 이 과정 까지 이틀이 꼬박 걸렸습니다. 원래 계획대로라면 하루 안에 API 를 연동하고, 그래프 작업까지 시작되었어야 했는데 말이죠. 

 

 

생각보다 쉽지 않는 데이터 정제

애드센스 API 가 데이터를 잘 정리해서 주기는 하지만, 사용에 핵심적인 데이터를 사용하려면 데이터 정제 과정이 별도로 필요한 상황입니다.

 

또한, 실제 애드센스 대시보드에서 제공하는 옵션들을 대부분 지원해주고 있지만, 완전히 일치하지 않은 부분도 있고, 조회가 보안상의 문제로 제한된 부분도 있습니다. 하필이면 필요한 부분이 누락된 부분이라 이를 어떻게 처리해 나갈지가 현재 과제 입니다.

 

또한, 사용자가 로그인 후에 애드센스 버튼을 클릭하면 데이터를 불러오도록 할 생각인데(불필요한 데이터 조회를 방지하기 위해서 였지만, 향후 편의성을 위해서 달라질 수 있습니다), 문제는 그렇게 불러오는 데이터가 각각의 개별적인 요청을 통해 읽어와야 하는 데이터이므로 이를 효율적이면서도 효과적으로 통일해야하는 점도 과제 입니다.

 

데이터 정제 후 에는 알림 서비스 

현재 기술적인 최대 도전 과제는 사용자가 지정한 날짜와 시간에 애드센스 수익을 한화로 변환 후 세금계산이 된 정보를 사용자의 SNS나 이메일 등에 정확히 전송하는 것입니다.  

 

현재 구상중인 방법은 백그라운드에서 동작하는 크론을 이용하거나, 이러한 처리를 대신 해주는 클라우드 서비스를 이용해보는 것 입니다. 일단은 데이터 정제 까지 처리하면서 현실적으로 적은 비용으로  간편한 방식으로 많은 사용자가 서비스를 받을 수 있는 형태를 갖출 수 있도록 할 생각입니다.

 


 

전체적으로 대시보드 형태를 가져가고, 사용자는 수익 계산된 부분을 간편하게 처리해서 구독 형식으로 받아볼 수 있는 애플리케이션이므로 단순하면서도 사용자가 편리하다고 느낄 수 있는 인터페이스를 구축하는 것이 전체적으로 주요 과제인 것 같습니다.

 

디자인은 단순하게

vercel 의 v0 를 이용해서 생성한 디자인을 참고하여 대시보드 형태로 디자인과 레이아웃을 정했습니다. 최대한 사용자가  심플하면서 직관적인 형태로 사용할 수 있도록 레이아웃과 디자인을 가져갈 생각인데, 어떤 형태가 나을지는 조금 더 고민해 봐야겠다는 생각이 듭니다. 

 

현재는 아래와 같은 디자인을 사용하고 있습니다. 흔히 볼 수 있는 대시보드 구조 입니다. 메뉴 버튼을 클릭하면 아이콘 옆에 숨겨진 카테고리가 보이도록 표시했고, 테마를 지원하여 다크모드와 라이트 모드 두 가지를 지원하도록 구현되어 있습니다. 사용자가 로그인을 하게 되면, 바로 대시보드를 보여줄지 레이아웃을 설명하는 가이드를 띄우는 영상을 보여줄지 고민 중입니다.

 

라이트 모드의 대시보드입니다. 참고로 형태만 잡혀져 있지 실제 배포 시에는 더 둥글둥글하고 자연스러운 인터렉션이 이루어질 수 있도록 구성해 나갈 생각입니다.

 

다크모드 일 때의 대시보드입니다. 

 

나가는 말

머릿 속으로는 모든 과정이 순탄하게 구현 중이지만, 실제 코드를 작성하는 과정에서는 신경써야 하는 부분이 적지 않아서 벽에 부딪힌 느낌입니다. 최대한 부족한 부분을 고려해 나가면서 20일 전 까지는 프로토타입 형태는 만들어서 테스트 해볼 수 있는 시간을 가져봐야 한다고 보는 중입니다.

반응형