1. Notion 소개
Notion은 훌륭한 static webpage이다. 모바일에서도/PC에서도 웹페이지 디자인은 깔끔하며, 내장 기능도 많아서 소규모 사업들이 이용하기 좋다. 스파르타코딩클럽이나, 노마드코더의 경우에는 Notion을 이용해서 유저들과 소통한다.
2. 프로젝트 목적: 웹서비스를 구현할 때 Notion을 써보자
현재 토이프로젝트로서 운동을 추천해주는 웹서비스 "FitCuration"을 만드는 중이다. Google Form에다가 사용자가 응답한 것을 기반으로, 유저들에게 맞는 운동을 추천해주는 서비스이다.
이렇게 유저들이 설문에 응답하면, 유저에게 추천하는 운동들 / 운동 센터 정보를 웹페이지를 담아서 배포했다. 이 때 Notion을 배포하는 웹페이지로서 이용했다.
3. (Unofficial) Notion API 사용 후기
FitCuration 서비스에서 "유저 응답 -> 웹페이지 반환"을 자동화하고 싶었다. 어쩌면 Notion을 Python/JavaScript 등으로 조작할 수 있는 unofficial API를 github에서 찾아봤다. 물론, 있었다!
내가 참고한 문서는 jamalex라는 유저가 만든 notion-py였다.
notion-py라는 unofficial Notion API 사용 후기는 다음과 같다.
- 표 생성, 이미지 삽입, 체크리스트, YouTube Video embed 등 상당히 많은 기능들을 구현했다.
- bug가 너무 많이 생긴다. AssertionError, Positional Argument error 등...
- Notion의 깔끔함을 notion-py로 구현하기는 힘들다.
4. Notion HTML/CSS Cloning하기
그래서 방향을 바꿨다.
Notion 서비스 안에서 웹서비스를 운영하기보다는, HTML만 베껴서 프론트로 사용하는 게 나을 것 같았다. 아래 과정을 거치면 웹서비스가 빠르게 완성될 것 같았다.
- Notion으로 웹페이지를 프로토타이핑
- 해당 Notion webpage를 HTML로 변환
- HTML 코드 클로닝하고, 백단은 JavaScript로 구현
github을 다시 찾아보니 go로 Notion 페이지를 html로 변환시켜주는 코드가 있었다. 문제는, 내가 go 언어를 전혀... 사용할 줄 모른다는 것.
다행히도 페북 친구님의 도움으로, 아주 간단하게 해결할 수 있었다. Notion 자체에 Export as HTML 기능이 있었다.
5. 다음 일은?
유저한테 배포할 static webpage의 뼈대를 구했으니, 운동 추천 / 운동 센터 추천 알고리즘을 만들 차례이다. 으으... 산넘어 산이다.
'Project Based Learning > 운동 추천 웹서비스 - FitCuration' 카테고리의 다른 글
Django 학습 3주일 차 - 몸져눕다 (0) | 2020.03.17 |
---|---|
Django 학습 2주일 차 - Node(Express.js)와의 비교 (0) | 2020.02.29 |
Django 학습 1주일 차 - 어떻게 하면 날로 먹을까? (0) | 2020.02.22 |
[Django] Application 폴더를 지워서, migration이 꼬였을 때 (0) | 2020.02.11 |
인스타그램 텍스트 데이터로 나에게 맞는 운동을 찾는 법: TF-IDF, Word2Vec (0) | 2020.02.03 |