처음 해본 API프로젝트입니다. 만들게 된 이유는 많은 API들을 보았지만 한국어로 된 성격유형 API는 보지 못해 만들게 되었습니다.
https://github.com/blueheart753/korean-personality-api
1. 프로젝트 소개
Personality(성격유형)
사람의 성격은 정말 다양합니다. 긍정적인, 용감한, 무뚝뚝한 등 세상을 살아가면 수많은 성격을 볼 수 있습니다. 저는 그런 사람들의 성격을 모아서 API로 만들면 좋겠다고 생각해 프로젝트를 진행했습니다.
사실상 데이터들은 제가 떠올린 것들을 적어내다 보니 중복되거나 엉뚱한 것들이 끼어있을 수 있어요.
프로젝트 기간
- 2024년 5월 24일 ~ 2024년 5월 27일 (3일)
기술스택
- Serverless
- Node-Express
구현기능
- 랜덤으로 성격유형을 출력한다
- 검색을 통해 성격유형을 찾을 수 있음
2. 프로젝트 진행과정
기획
프로젝트의 시작점인 기획은 정말로 중요합니다. 이 기획이 제대로 되지 않아 망친 프로젝트가 한 두개거 아니죠. 그래서 기획을 짤 때 처음부터 많은 것을 생각하고 옮기기보다는 작은 것 하나를 잡고 완성하고 또 잡고 완성하고 하는 방식으로 기획안을 작성했습니다.
어쩌면 제가 기획했던 프로젝트는 완성되었지만 추가로 기능이 추가되는 경우 기존에 있던 것과 충돌할 수 있었다는 리스크도 있었습니다. 다만 API가 그렇게 큰 기능을 요구하지 않기 때문에 가능했던 기획 도출 방법이었던 것 같습니다.
개발
처음에는 기획에 나와있던 것은 랜덤으로 성격 유형 하나를 출력하는 것이었지만 개발 도중 검색기능도 있으면 좋겠다는 생각에 바로 기능을 추가했습니다. 기능 하나를 개발하는 데 대략 1일 정도 걸렸고 개발지식도 함께 알아갈 수 있는 좋은 기회였습니다.
3. 프로젝트를 통해 얻은 것
API를 만들면서 다양한 메소드를 보았고 찾아보며 해당 기능의 필요한 메소드를 찾았습니다. 대부분의 기능이 조회 기능인지라 GET만을 사용했지만 다음에 다른 API를 만들 때 GET말고 POST나 PUT 등 다양한 메소드들을 사용해 만들어보고 싶습니다. 또한 기술스택으로는 Serverless와 Node-Express를 사용하였습니다.
Serverless를 도입한 이유는 따로 서버관리를 하지 않고 실행 할 수 있는 것을 찾다가 조건에 부합해 도입하였습니다.
Node-Express는 백엔드 로직을 작성하기 위해서 사용하였습니다. 주변에서 Node-Express가 아닌 Nest.js나 Java Spring을 추천받기는 했지만 처음 백엔드를 하다보니 Nest나 Spring처럼 어려운 것으로 시작하는 것보다는 입문하기 쉬운 Node-Express를 사용하는 것이 좋다고 판단하여 사용했습니다.
4. 프로젝트를 마치며
짧고 간단한 프로젝트를 진행했지만 그래도 그 속에서 얻은 것은 장차 저에게 큰 도움이 될 수 있는 좋은 경험이었던 것 같습니다.