Soft Landing (연착륙(軟着陸)) > 자유게시판

자유게시판

Soft Landing (연착륙(軟着陸)) 정보

Soft Landing (연착륙(軟着陸))

본문

그누보드 6의 처음 아이디어는 기존의 그누보드5(영카트 포함)에 REST만 넣어주는 것입니다.

Database에서 REST를 넣어 볼려고 하면, 데이타베이스의 구조가 REST에 안맞게 되어 있는 부분이 있는 것 같습니다. (데이타베이스는 아직 완벽하게 알지 못하지만..)

 

레퍼런스 코드등을 보면 ORM을 많이 사용하게 됩니다. 

라라벨은 Eloquent ORM

파이썬은 SQLAlchemy

Node쪽은 TypeORM 등으로..

 

그래서 소프트랜딩을 위해서 먼저 그누보드 5의 데이타베이스 구조 변경과 코드 업데이트가 먼저 필요했던 것이죠.. https://sir.kr/so_g5tuning 과 https://github.com/jakekwak/gnuboard5-upgrade  참조.

(영카트는 다행이 나중에 만들어져 있어서 몇개만 변경하면 되었던 기억이..)

 

그러면 그누보드 5는 현재와 같은 상태로 돌고,  앱을 만들어야 겠다고 하면, 별도의 Node, Python, Java등으로 API 서비스를 해 주는 것이죠..

 

그럼 앱 생태계도 어느정도 가져오고,  그 후에 API기반으로 웹과 어드민등도 출시할 수 있는 것이죠..(API의 문서화가 중요하죠..)

 

참고한 모델은 Real World 프로젝트인데,  여기 보면 모든 솔루션이 다 들어가 있습니다.

https://codebase.show/projects/realworld?category=frontend

 

글을 쓰다 보니 왔다갔다 하네요.

 

그누보드의 연착륙에 대해서 다시 정리를  해 본다면

  1. 그누보드 5에 데이타베이스 구조를 ORM에 맞게 수정하고 코드를 수정한다.
    1. 그외에 몇가지가 있음(아바타 이미지 위치등)
  2. Swagger(OpenAPI)등을 통한 통일된 API를 만든다. 
  3. ORM을 사용해서 쉽게 RESTful CRUD를 구현한다.  (초기 버전으로)
    1. FastAPI, Spring Boot, Slim, Laravel등 다양하게..
    2. 그누보드 참조 https://node-api.javapad.com/swagger/gnuboard5/
    3. 영카트 참조 https://node-api.javapad.com/swagger/youngcart5/
  4. 각자의 원하는 솔루션으로 앱을 만든다.
    1. React , Vue 등 각자가 원하는 언어로 출시함.
  5. 프런트엔드에서 처리하기가 힘든 것은 모아서 백엔드로 요청한다.
    1. 피드백을 받아서 처리하면 될 것 같습니다.
    2. 위의 그누보드 Swagger를 보면 Register를 하면(로그인을 하면) 토큰이 나오는데,  그 토큰을 Authorize 버튼을 눌러서 넣으면 아래 옆쪽에 자물쇠 모양으로 된 것을 볼수가 있습니다.  각 게시판의 권한설정을 백엔드에서 처리하는 것이 맞을 것 같지만,  그냥 API를 조금 난독화해서 프런트엔드에서 처리해도 무방할 수 도 있을 것 같습니다. (중요한 정보는 대략 서버단에서 처리해야겠죠.)
  6. 1 ~ 5번을 반복해 가면서 버전업을 하면 될 것으로 생각했습니다.

하여간 내년 만우절쯤에 나올 파이썬 솔루션이 궁금하네요

 

추천
3

댓글 2개

맞는징 잘 모르겠지만, ^_^;a 방식이, 프론트에서 서버로 헤더 bearer로 jwt토큰을 보내면 쌍방간의 secret key 로 credential해서 통과되면 ACL을 거쳐서 해당 권한이 있다면 CRUD action/api(가입,수정,글쓰기,수정,삭제,쪽지등의...)를 실행할 수 있도록 action(api)역할 하는 php 파일들로 개조를 해보는 것도 필요할 것 같다는 생각이 듭니다. (지나가다 능력은 안되면서 거들어 죄송합니다... orz)

@xpem 이 기종간의 통신이라서 매번 Auth Token이 필요합니다. 

이런 불편함이 있어서 여러가지로 다른 아이디어도 있습니다. https://sir.kr/so_restful/177

 

전체 195,334 |RSS
자유게시판 내용 검색

회원로그인

진행중 포인트경매

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