🔔eShop[React]🔔
- eShop을 왜 제작하게 되었는가?
- 판매자들에게도 조금 더 판매물품을 관리하기 용이하고 시간을 알차게 사용하는 법이 무엇이 있을까 고민을 하던 도중, 판매자들이 주로 판매를 위한 목적도 있겠지만, 한 눈에 보기 쉽고 관리하기 좋은 서비스를 제공하면 어떨까?라는 생각으로 프로젝트를 만들게 되었습니다. 아직은 상용화 될 만큼의 서비스를 제작한 것은 아니지만, 계속해서 추가적인 작업을 통하여 판매자들 사이에서도 정보를 공유하며, 어떻게하면 판매를 보다 효과적으로 잘 이루어 질 수 있는지 or 판매자들 사이에서도 서로가 고객이 되어 부족한 부분을 캐칭해 부족함을 채워가는 플랫폼을 만드는 것이 "1차적목표" 이며, 작은 규모의 시장이 서로 쌍생하면서 규모도 키울 수 있는 플랫폼 서비스를 만들어 보는게 "최종 목표" 입니다.
- 기술 스텍
FE[Front-End] | BE[Back-End] |
React, React-Google-Login,React-Icons, React-loader-Spinner, React-Masonry-css, React-Router-Dom[V6], UUIDV4, Sanity[React CMS => PlatForm], TailWindCss[CSS => Fram-Wrok] | Sanity[React CMS => PlatForm], Node |
- eShop을 왜 React로 제작하게 되었는가?
- React로 제작하게된 이유는 간단하다. React는 개발자들 사이에서도 많이 사용되는 프레임워크이면서도 Meta라는 (구)FaceBook에서 개발한 JavaScript언어로 만든 것이고 현재도 계속해서 좋은 프레임워크로써의 기반을 다져가고 있고 비중도 많이 높기 때문이라는 말을 많이들 한다. 그러나, 나의 생각은 JavaScript언어가 주는 "영감"이 색달라서 선택하게 되었다. 즉, JavaScript라는 언어로 다양한 서비스를 만들 수 도 있고, 웹 뿐만 아니라 앱도 제작이 가능하며서버도 만들어 관리 할 수 있는 다재다능한 언어이다 보니 선택하게 되었습니다.
- React로 제작하면서 어려웠던 점은 무엇이 있는가?
- 전반적으로 아직은 얕은 지식을 기반으로 프로젝트를 만들다보니 어떻게 React를 가지고 다른 플랫폼, 라이브러리를 접목하여 조리있게 서비스를 잘 마무리 지을 수 있을까에서 고민이 많이 컸으며, React내부에서의 어려움보다는 Back-End에서 만들어놓은 Query문을 어떻게 Front-End에 적용할 것인가에서 utils라는 폴더를 생성 후 data.js를 만들어 front에서 필요로 하는 part별로 export하여 상태관리에 용이하도록 코드를 만들었습니다. 추후 front에서도 추가적으로 적용하고 싶을때 front안에 data.js에서도 쿼리문을 수정하고 또한 Back-End에도 query문을 수정하여 서로간에 Connection이 잘되고 있는지까지 Testing을 하는 부분에서 Error사항들이 React제작에서의 어려움보다 컸던 것 같습니다.
- Back-End에서의 어려움은 없었는가?
- Back-End에서의 어려움은 오히려 API를 기획하고 구현화 하는 과정에서 Front에 적용이 잘되는가와 Query문을 작성하는 과정에서의 Error사항들이 종종 발생하기도 하였습니다. API를 기획하면서 구현시킬때 Query문을 어떻게 DB에 적용할 것인지와 Sanity를 활용하여 Back-End에서는 Test를 잘 끝냈음에도 불구하고, Front에서 Query문을 적용하는 과정에서의 문제점이 많이 발생했다. 특히 Query문에 추가로 작업해주는 과정에 TypeError와 Undefined와 같은 Error를 많이 봤습니다. 그리고 문제없이 Query문을 적용하였지만 Bug로 인하여, 구글링 또는 Sanity 공식문서를 보면서 또는 영상을 보면서 문제를 해결해 나갔습니다.
- 화면구현
- 프로젝트 후기
- 프로젝트를 제작하면서 React에 대해서 공부를 많이 했다고 생각했지만 패키지 적용, 라이브러리 적용, 플랫폼의 활용면에서 아직은 많이 부족하구나를 느꼈으며, 특히 API계획, 구현, Testing도 중요하다는 것을 많이 느끼게 되었습니다. 아무리 Query문을 잘 구현하더라도, 정작 나의 Source가 좋은 Source가 아니라면, 결코 Query문이 좋게 짜여진다 한들 결과는 좋게 나올 수 없다는 것과 시간에 쫒기지 않고 실패를 계속하고 프로젝트도 '무'에서 '유'를 창조하기 까지의 과정이 순탄하지 않았다. 많이 갈아엎고 새로 백지화 상태에서 프로젝트를 다시시작 하고 중간에 잘 되더라도 갑자기 꽉 막히는 부분이 생기거나, 아무리 찾아봐도 기술력의 부족으로 프로젝트를 끝까지 실현을 못시키는 경우도 사실 많았다. 뼈아픈 실책이라 생각하지 않고 오히려 나를 자극해주는 계기가 되지 않았는가 생각한다. 실패, 실책, 실수 등을 많이해 볼 수 록 오히려 좋다고 생각한다. 실수하고 시간이 지연 되더라도 문제를 정확하게 캐치해서 해결하고 실수를 번복하지 않는게 좋은 개발가 아닐까 생각한다. '유'를 창조함은 쉽지 않다. 많은 아이디어가 있지만, 실현시키는 것 또한 어렵다. 그리고 이미 내가 생각한 아이디어라던지 타인의 프로젝트를 copy하면서 프로젝트를 만들더라도 내것이 되는게 오히려 공부도 되고 나쁜게 아니라고 생각한다. 유료강의를 끊어 프로젝트를 똑같이 만들더라도 얼만큼 이해하고 내가 만들었는지가 중요하다는 것이 큰 핵심이다. 시간이 오래 걸리더라도 끊임없이 도전하고 지금 부끄럽더라도 미래를 생각하면 결코 부끄러운게 아닌 좋은 현상이라고 생각한다. 만약 내가 주니어에서 시니어가 되었는데, 주니어에게 아니 누구에게나 간단하고 쉬운 문제인데 시니어인 내가 모른다면 그것이 오히려 더 부끄럽고 죄책감이 들 것이다. 그래서 이번 프로젝트를 하면서 완성도가 낮더라도 좋았던 점은 스스로가 발전하고 있다는 것과 실패에 대한 두려움이 사라졌으며, React와 웹에대해서도 어떻게 API를 기획하고 더 좋은 서비스를 개발하면 좋은지를 일깨워주는 프로젝트가 기간이 되지 않았나 생각한다. 마지막으로 이런 말을 해주고 싶다. "실패를 계속해서 하지 않으면 성공하기란 어렵다. 실패는 오히려 좋은 무기가 될 수 있으며 실패로 인한 삶은 성공의 삶으로 이끌어주는 대목이기도 하다. 실현시키기란 힘들지만 실패하기란 쉽다. 단, 실패 후 반복되지 않는 실패의 삶을 살고 있는가는 매우 중요하다."라고 이야기 해주고 싶습니다. :) 긴 이야기를 들어 주셔서 감사합니다.