- 개발 배경
- 노션은 뛰어난 문서 작성 도구이지만, 공개적으로 콘텐츠를 공유하기에는 제한적
- 기존 블로그 플랫폼들은 제한적인 글 작성 기능으로 인해 풍부한 콘텐츠 작성에 어려움
- 노션에서 작성한 문서를 블로그로 쉽게 변환하고 공유할 수 있는 솔루션이 필요
- 개발 목적
- 노션의 편리한 문서 작성 기능을 활용하면서 블로그 형태로 콘텐츠 공유
- URL 입력만으로 노션 페이지를 블로그 포스트로 간편하게 변환
- 노션의 강력한 문서 작성 도구를 통해 기존 블로그 플랫폼의 제한적인 글 작성 기능 보완
- 피그마 임베드, 외부 객체, 코드블록 등 다양한 노션 기능을 사용할 수 있습니다.
- Next.js (14), TypeScript, React-Query, Material UI, react-notion-x, next-auth
- Mysql, EC2
-
노션 페이지 블로그 포스트로 변환
- react-notion-x를 활용하여 노션 페이지의 콘텐츠를 자동으로 블로그 포스트로 변환
- 노션의 텍스트 스타일링, 이미지, 코드 블록 등 서식 유지
- 실시간 동기화로 노션 페이지 수정사항 자동 반영
- 노션 페이지 URL 입력만으로 간편하게 포스트 작성 가능
-
노션 자식페이지 연동
- 메인 노션 페이지의 하위 페이지들을 자동으로 감지하여 블로그 포스트로 변환
- 새로운 자식 페이지 생성 시 자동으로 블로그에 반영
-
- 작성된 포스트 목록을 한눈에 볼 수 있는 대시보드 제공
- 직관적인 UI로 포스트 내용 미리보기 및 관리
-
Github OAuth 기능
- Github 계정을 통한 간편한 로그인/회원가입
- 안전한 사용자 인증 및 권한 관리
- Github 프로필 정보를 활용한 블로그 프로필 자동 구성
2024.05 ~ 진행중
https://www.nextblog.me/YoungCheon%20Kim/163e895f-ae86-8015-a966-fe0b74e618aa
https://www.nextblog.me/YoungCheon%20Kim/163e895f-ae86-80b7-9b94-ed4a3ec2ecb3
https://www.nextblog.me/YoungCheon%20Kim/163e895f-ae86-8071-a8ba-f61a6e39c697
프로젝트 실행을 위해 .env 파일에 다음 환경변수들을 설정해야 합니다:
환경변수 | 설명 | 비고 |
---|---|---|
데이터베이스 설정 | ||
DB_HOST | MySQL 데이터베이스 호스트 주소 | |
DB_USER | 데이터베이스 사용자 이름 | |
DB_PASSWORD | 데이터베이스 비밀번호 | |
DB_DATABASE | 사용할 데이터베이스 이름 | |
API 설정 | ||
API_PATH | API 기본 경로 | |
NEXT_PUBLIC_BASE_API_URL | 클라이언트측 API 기본 URL | |
GitHub OAuth 설정 | ||
CLIENT_ID | GitHub OAuth 애플리케이션 ID | |
CLIENT_SECRETS | GitHub OAuth 시크릿 키 | |
CALLBACK_URL | OAuth 콜백 URL | |
GITHUB_AUTH_CODE_SERVER | GitHub 인증 코드 서버 | 기본값: '/login/oauth/authorize' |
GITHUB_AUTH_TOKEN_SERVER | GitHub 토큰 서버 | 기본값: '/login/oauth/access_token' |
GITHUB_API_SERVER | GitHub API 서버 | 기본값: '/user' |
NextAuth 설정 | ||
NEXTAUTH_SECRET | NextAuth 암호화 키 | |
NEXTAUTH_URL | NextAuth 기본 URL | |
NEXTAUTH_COOKIE_NAME | 인증 쿠키 이름 | |
기타 설정 | ||
SECRET_KEY | 애플리케이션 암호화 키 | |
DEFAULT_IMAGE | 기본 이미지 경로 | |
NEXT_PUBLIC_GA_ID | Google Analytics ID |
.env
파일을 프로젝트 루트 디렉토리에 생성하고 필요한 환경 변수들을 설정합니다.
npm install
npm run dev