RESTful API에서 필요한 것(게시판에서만)

RESTful API에서 필요한 것(게시판에서만)

QA

RESTful API에서 필요한 것(게시판에서만)

본문

자게 올렸더니 별 대답이 없네요.   https://sir.kr/cm_free/1658010

 

자게에 글도 별도 없고, 답변도 없고,  QA로 옮겨서 다시 고수님들의 의견 청취합니다.

 

게시판 구현은 다음과 같이 했습니다. (R이 되면, C, U, D는 금방 될 것 같은 생각에. https://sir.kr/so_restful/367

 

현재 게시판에서 구현중인 것은  아래 옵션입니다.

 

3556183104_1682119917.8548.png

 

게시판에서만 그외에 무엇이 필요할까요?  (프런트엔드를 구현해 보신분들 중에서 필요한 것)

 

그누보드 순정엔 없지만, 태그, 신고 기능등은 생각중입니다.

이 질문에 댓글 쓰기 :

답변 4

아! 그런 의도로 올리셨군요~ 저는 보고 그냥 다른분이 많이 올리실줄알고 눈팅중이었어요 ㅋㅋㅋ

게시판이외에 다른거는 그냥 흔한건데 연혁 게시판? 이게 따로 없어서.. 그냥 게시판으로 커스텀 해야되는 부분이 있어서.. 불편하고.. 컨텐츠 관리도 좀 인삿말, 개요, 찾아오는길 등 이런거를 다양하게 관리 할 수 있게... 하나 좀 있었으면 좋겠어요 

이외에는 예약기능 같은거? 참고해보세요 ㅎㅎ

필요한 것은 많이 있을 것 같은데..  그래서 그냥 게시판 한정으로 물어 본것입니다.
sca, sfl, stx, sop, page가 구현되어 있는 것 같아서.  현재 그 부분 공부중에 있고,
다음은 게시판 레벨 권한정도만 생각나는 중입니다.

게시판 한정 빠진 부분이 뭔지를 물어 보는 중입니다.

권한 레벨이 좀 기본적으로 기본설정에 있고 각 게시판 마다 있는데요
게시판 설정에서 체크 박스 선택해서 필요 시 사용하면되고 거기서도 권한을 주게? 하면될것같고...

네. 어드민의 RESTful구현은 가장 후 순위로 생각하고 있습니다.
즉 어드민의 권한설정의 데이타 베이스를 읽어와서 그부분은 backend에서 처리하는 것으로 생각하고 있습니다.

앞에서 처리할 것, 뒤에서 처리할 것 구분도 필요하고 해서 문의중입니다.

공지여부도 필요하겠네요..

 

uri를 보고 드리는 말씀인데 제 생각은 
https://node-api.javapad.com/api/v1/free/58

https://node-api.javapad.com/api/v1/board/free/58 (or bbs)

으로 되어야 할것 같다는 개인적인 생각입니다.

url을 통해서 free라는 게시판의 58게시물이구나 라고 알수 있게요

이것은 큰 문제는 아닙니다.  코드 구현이 필요한 것이 아니라서.. (문자안에 board만 추가하면 됨.)

가장 큰 문제는 게시판을 중간에 만들었을 때인데..  대부분의 코드가 이런 것에 대한 대비가 별로 없어서.. (찾아보니 Dynamic Table이 지원되어야 된다고..)  ==>

이 부분은 초창기 부터 고민중이었던 문제긴 합니다.    어려운것은 나중에 해결하고,
현재는 코드 구현부터 해 볼려고 합니다.

공지는 쓰기(C, U)할 때,  필드가 체크될 것 같은데..(확인 필요).  그 다음 나머지는 프런트엔드에서

찾아보니 g5_board의 bo_notice에 , 형태로 들어 가네요.

이부분은 그냥 해달글에 wr_notice 필드를 만들어 주는 것이 더 편할 것 같기도...

하여간 bo_totice를 읽어서 output에 notice항목을 넣어 줘야 되겠네요. (감사합니다.)

한번에 다 게시판의 옵션을 다 불러오면 속도나 처리방법에 문제가 있을수있으니

 

기본적으로는 테이블별로 정보를 가져오는 형태로 API를 구성하신후

조합형으로 API를 혼합해서 리턴하는 형태로 하시는게 좋을것같습니다.

예를들어

 

게시글 API - 테이블의 정보

답글 API <- 게시글 API에 답글이 존재할경우

댓글 API <- 게시글 API호출시 댓글이 존재할경우.. 관련내용

첨부파일 API < -- 파일의 정보만 호출하는 형태로 해놓고

게시글 본문에 삽입된 이미지 호출 API와는 별개로 해놔야겠죠

 

이외에 리스트API에서는 공지목록 API 와 추천/조회수 같은 정보를 라이브러리로 각 API에서 같이 사용하게 하는게 좋을것 같구요

 

메인화면에 노출할 최신글이라던지, 위젯형태의 특정한 글을 묶어서 가져오는 구조는 별도로 만들어야겟죠

 

g5_board는 게시판들 정보이듯

g5_write_free 같이 free 게시판의 정보를 토대로 가져오는 내용들은

가급적 기본형을 위주로 만드시고

확장형은 기본형 + 옵션값호출 구조로 별도 api를 구성하시면 좋을것 같다는 생각입니다.

 

글쓰기는 옵션에따라 게시글, 댓글, 답글 전부다 가능한 구조이니

하나를 가지고 확장하는게 좋을것같고

첨부파일이 존재하면 별도 API를 호출해서 값을 전달하는 패턴맞다고 봅니다.

 

 

한번에 불어오는 것은 아니고, 나중에는 페이징 처리가 될 예정입니다.
제가 정리한 것은 아니지만  https://sir.kr/so_restful/360

현재 실력으로 모든 것을 하기는 힘들고,  딱 찍어서 꼭 필요한 기능만 먼저 구현해 볼려고 합니다.

감사합니다.

요즘 게시판을 만들고 있는데 옵션이 갈수록 늘고 있어서 어디까지 늘어날까하고

필드를 계속 추가하고 있습니다 물론 나중에 최적화와 분류를하겠지만

하나씩 추가 해 보니 아래와 같은 분류가 생겨나게 되었습니다

 

글관련 코드,  글쓴이와 관련된 코드, 게시글의 권한 설정과 관련된 코드,

코멘트 혹은 답글에 관한 2차 생산된 글에 관한 코드, 

글읽은사람 좋아요와 같은 글에 대한 기록 수치용 코드, 

파일업로드에 관련된 코드, 각종 로그에 관한 코드, 기타 기능에 관한 분류 코드등으로 나뉘더군요 

 

보통 이게 생각날때 마다 추가하다 보니 모두가 섞여 있는데

이것을 차례대로 필드를 정리해서 순서대로 넣는다면

후에 분리하거나 테이블 join할 때도 용이할거 같습니다

 

서너개의 필드만 필요한데 50여개의 필드가 묶여 있는 테이블을 가져다 쓰는 것 보다는 나을듯 해서 입니다  원본의 그누보드용 글 테이블을 가져다 사용한다면 이 부분에 대한 생각은 좀 더 해야할 듯 합니다 원본 디비 테이블을 그냥 사용할지 추가하거나 혹은 다른 테이블을 만들지

 

 

그리고 기본으로 로컬 언어에 대한 지원이 확실히 되어야할 거 같습니다

 

즉  한국 환경뿐 아니라 미국이나 유럽 중동 환경에서도 쓸수 있도록 

나라별 환경 설정이 필요할거 같습니다

 

워드 프레스 마저도 완벽히 지원할려면 여러번의 손을 타야 한다고 알고 있습니다

아마 이런 저런 기능 넣는거 보다도 환경을 능숙하게 탈수 있다면 

기본이 잡혀 있으므로 좀더 빨리 발전하리라 봅니다 

 

기능을 덧붙이는 건 시간이 걸려서 그렇지, 문제가 되지는 않을거라 생각합니다

보안이 겸비된 기본 기능을 기본이 되게 자리 잡게 하는 것이

제일 힘든 작업인거 같습니다.

그 만큼 생각을 바닥 끝까지 해야하니

 

그리고 하나 더 첨언 하자면

잘 되었을때 어떤 모양의 결과물이 되어 나오는지에 대한 스케치가 있어야할 듯 합니다

아무리 좋은것이라 해도 무엇을 만드는지 무엇을 해야하는지에 대한

접근자의 올바른 인지가 되어 있지 않다면 좋은 호응을 끄집어 내기가 힘들듯 합니다

 

api로 호출된 데이터뿐 아니라

이것을 어떻게 적용하는지에 대한 간단한 html상으로라도 견본이 될만한 예시가 존재해야할 듯 합니다

 

그리고 많은 개발자들이 공감하듯

이쁜 겉포장의 결과물이 그안에 담겨진 내용을 압도할 때가 많습니다

도출된 결과물을 잘 포장할 디자인이나 홍보 방법 또한 생각해야할 듯 합니다

 

잘 만들어진 결과물이라면 여기 그누보드 공홈뿐 아니라

밖에서 홀로서기를 해도 설수 있어야된다고 생각합니다 

 

마젠토님이 주축이 되어서 누구 누구와 협업해서 어느정도 사이즈를 키울까에 대한 생각도

바탕엔 있어야 된다고 생각합니다 

여기엔 개발자만이 아닌 협업을 제대로 할수 있도록 백엔드 개발자, 프론트엔드 개발자, 기획자, 웹 디자이너등이 기본으로 팀구성이 되어야할거 같습니다

 

만약 혼자 진행을 하신다면 저 처럼 시간이 약이다하고 끈기 있게 하시는 수밖에는 없을듯 합니다

덧 붙여 열심히 하시는 마젠토님을 응원합니다 : )

 

 

 

 

 

 

우선 그누보드 순정에 해당되는 API 문서를 만드는 것이 목표입니다.  순정에서 꼭 필요한 기능에 우선순위로 구현하고...  그러면 그 다음에는 백엔드에서 무엇을 추가해도 가능하다고 생각합니다.

백엔드와 프런트엔드를 왔다 갔다 하다 보니,  머리도 그렇고, 시간도 그렇고.. (스위칭이 잘 안됨.)

안되면 백엔드 어느정도 구현하고, 다시 프런트엔드 구현하고 하는 식으로 조금씩 도전해 보겠습니다.  감사합니다.

1. 원본 디비 테이블을 그냥 사용할지 추가하거나 혹은 다른 테이블을 만들지
    앞 답글에 이미 답변..
2. 로컬 언어에 대한 지원
    순정에 대한 구현이 되고, 프런트엔드도 예시가 나온다면.. DB안에 저장된 설정을 각 언어별로 저장도 가능할 것 같습니다.
3. 결과물이 되어 나오는지에 대한 스케치
4. html상으로라도 견본이 될만한 예시
    그누보드 배포판과 똑 같습니다 단 프런트엔드와 백엔드로 나눠져서 동작하게..

5. 결과물을 잘 포장할 디자인이나 홍보 방법
    우선 목표가 그누보드에 필요한 한국형 Swagger 문서 입니다. https://github.com/gothinkster/realworld  처럼 그누보드를 기반으로 하는 다양한 솔루션이 나올 수 있게..

그래서 프런트엔드에서 필요한 API스펙만 정의해 볼려고 합니다. (어드민도 당분간 PHP쪽을 사용)

그누보드 배포판 설치하고 보면 제일 먼저 보이는 것이
1. 로그인 /api/v1/member/login
  회원가입 /api/v1/member/register
2. 게시판 /api​/v1​/free  board나 bbs추가
3. 메뉴 /api/v1/menus
4. content
5. faq
6. q&a
7. 포인트 /api/v1/member/{id}/points
8. 쪽지 /api/v1/member/{id}/memos
9. 스크랩 /api/v1/member/{id}/scraps

이런식으로 읽어오는 것을 순차적으로 구현하고, 프런트엔드를 구현해 볼려고 합니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 54
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT