ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [개발일지] NodeJS 포트폴리오 웹앱 구조 개선 계획
    소소한 IT 이야기 2018. 10. 31. 11:43
    반응형



    어제 작성하던 글이 임시저장이 안되어서 다 날아가버리는 바람에 다시 쓰게됬네요ㅠㅠ. 현재 개발하고 있는 NodeJS 포트폴리오 웹앱을 개선하는 동시에 기능추가를 하기 전에 간단히 정리를 해보기위해서 글을 작성하게 되었습니다. 우선 현재 웹앱의 모양은 아래와 같이 생겼습니다.



    며칠동안 삽질해서 결국 라즈베리파이 서버에다 이식을 성공했고 Let's Encrypt 보안인증서도 발급받아서 주소창에 당당히 HTTPS가 표시됩니다. 추가로 가지고 있는 도메인에서 서브 도메인을 만들어 아파치의 내부 프록시 기능을 활용해서 내부 포트로 연결하는것도 성공했습니다.


    이제 기능 추가 부분에 대해서 작성해보겠습니다. 우선 현재는 메인페이지에 오직 저의 포트폴리오 정보들만 노출되고 있습니다. 동시에 버튼들도 죄다 저와 관련된 정보들 뿐입니다. 저는 이 프로젝트에 다중사용자 버전을 고려하고 있습니다. 그렇게되면 회원가입 기능과 쿠키, 세션기능들이 포함되어야함과 동시에 현재 라우팅되고 있는 페이지들의 구조도 전부 다시 수정되어야합니다.


    현재 외부에서 가져오고 있는 자료는 Github의 Readme.MD 파일만 Cheer.io 모듈로 파싱을 하고 있는데 이를 API로 전환해야할지 고민중입니다. LinkedIn으로 로그인하기 기능 또는 LinkedIn 프로필 링크를 입력하면 자동으로 자료들을 가져오는 기능 또한 고려중인데 LinkedIn의 경우 API 활용이 아주 간단한 작업에 한정되어 있어 수동으로 데이터들을 파싱해와야 할것같습니다. 원래는 일반 개발자들도 API를 전부 활용가능했는데 1년정도 전부터 인증된 개발자들만 그 API를 제공한다고 합니다. 또한 인증된 개발자 신청을 받고 있지만 기업에 소속되어야하고 발급절차가 상당히 까다로운듯하여 그냥 파싱하는 쪽은 생각하고 있습니다.



    기본적으로 LinkedIn API 활용하여 본인의 포트폴리오를 등록할경우 향후 LinkedIn 데이터가 업데이트되더라도 자동으로 반영되도록 구성할 예정이고 일반 프로필 링크로만 등록할 경우 등록은 되지만 등록 시점의 데이터만 관리되도록 개발할 예정입니다.


    그리고 이렇게 될경우 데이터가 중복도가 높아지고 DB 자체의 기능이 많이 요구되므로 LowDB 모듈 사용을 중지하고 MySQL이나 MongoDB같은 상용 DB들을 사용해야할듯 한데 아직까지 무엇을 선택해야할지 잘 모르겠습니다. 하지만 DB 부분에서까지 시간을 더 투자하긴 뭣해서 아마도 MySQL로 가지않을까 싶은데 그래도 NodeJS와 DB를 검색해보면 MongoDB가 자주 검색되기에.. 조금 끌리는건 사실입니다. 게다가 MySQL DB 같은 경우에는 이미 라즈베리파이에 설치가 되어있기도 합니다.


    추가적으로 수정되어야 할 부분들이 있는 CSS 쪽 부분들입니다. 지금 현재로서는 작동을 잘하고 있는 상황이지만 코드의 중복도가 높다보니 유지관리가 아주 힘든 상황입니다. 언젠가 시간을 한번 내서 정리를 다 해주어야하는데 엄두가 잘 안나는.. 하지만 윗부분들의 기능을 추가하기 위해선 먼저 손대야 할 부분이기도 합니다. 메인페이지도 다시 구성되어야하고 UI 측면에서 버튼이 주르륵 나오는 방식은 UX 관점에서 좋지못한것 같아서요.

    반응형

    댓글

Designed by Tistory.