업무 처리 하며 포폴 구상하던 도중 이번 달 내에 cms 구축 관련 작업(B2B)이 있을 수 있다는 기획자 분의 말씀을 듣고🥲 기존에 사내에서 활용하던 cms가 strapi로 구성되어 있었던 것을 떠올려 잠시 strapi 관련 정리를 해보았다.
(입사 당시 구축이 완료되어있었고, 개발 과정에서 관련 api 연동 및 개발계 entry 일부 컨트롤 하였으나 기본 구조나 세팅 관련 경험은 없는 상태)
먼저 해당 포스트는 공식 문서와 함께 아래 링크들을 참고하였음을 알린다 :-)

"Bootstrap + API"
Strapi는 Node.js 웹 프레임워크 중 하나인 Koa 기반으로 구현되었으며, 풀 커스터마이징이 가능한 개발자 우선(Developer-first) 오픈소스 Headless CMS이다.
여기까지만 읊어봐도.. strapi 사용 이유는 충분한 것 같고, 특히 shadow CRUD나 RBAC, 여러 DB 지원 등은 현업에서 사용하면서도 정말정말 편리하다고 느꼈던 부분들이다.
npx create-strapi-app cms-projectyarn develop 로컬 개발 환경 구동 (기본 주소 http://localhost:1337/)content-type builder > create new collection type


위에서 Display name을 입력해주면 API ID 두 가지는 자동으로 입력된다. (name이 한글일 경우에는 따로 입력이 필요할 듯 하다.)



일단 간단한 Todo List를 만들어보기 위해 type을 text로 지정하고 Item이라는 field name을 입력해주면, 위와 같은 화면을 볼 수 있다.
Content Manager > (생성한 Collection Type 선택) > create new entry


아까 field type을 text로 지정했으므로 item은 text만 입력할 수 있고, 입력을 마친 후에는 save / publish를 클릭해 버튼이 'unpublish' 상태로 바뀐 것을 확인해줘야한다. (입사 후 처음 cms 만질 때 publish 안하고 api 호출해 잠시 헤맸던 기억이..🙄)
외부 접속을 위해 Setting > USERS & PERMISSIONS PLUGIN > Roles 항목에서 Todo 내의 Select all에 체크해두었다. 이후 각 action에 hover하면 세팅 아이콘이 나타나는데, 클릭하면 우측에 API 주소가 노출된다.



postman으로 호출해보니 잘 동작한다!
이번엔 기초적인 내용만을 다뤘고, 다음 포스팅에서 조금 더 세부적인 내용을 다뤄 볼 것이다 💪💪💪