CodeVault: React, Node.js, SQLite 기반 코드 스니펫 관리 시스템
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
- 대상자: 프론트엔드/백엔드 개발자, 웹 애플리케이션 개발 초보자
- 난이도: 중간 (JWT 인증, SQLite 통합, 배포 파이프라인 구현 포함)
핵심 요약
- 프론트엔드: React (Vite) + Prism.js 활용한 실시간 구문 강조
- 백엔드: Node.js + Express.js + SQLite 기반의 JWT 인증 시스템 구현
- 배포: Vercel (프론트엔드), Railway (백엔드)를 통한 클라우드 호스팅
섹션별 세부 요약
1. 프로젝트 개요
- CodeVault: 다중 언어 코드 스니펫 저장, 태그 기반 검색, 실시간 편집 기능 제공
- 기술 스택:
- 프론트엔드: React, Vite, Prism.js
- 백엔드: Node.js, Express.js, SQLite, JWT
- 주요 기능: 사용자 인증, 스니펫 CRUD, 모바일 대응 레이아웃
2. 핵심 기술 구현
- JWT 인증:
- 사용자 로그인/등록 시 JWT 토큰 발급
- CORS 설정 및 레이트 리밋 적용
- SQLite 통합:
- 데이터베이스 마이그레이션 활용한 스키마 관리
- SQLite3 모듈을 통한 실시간 데이터 처리
- 환경 변수 관리:
- VITE_ 접두사로 프론트엔드 환경 변수 처리
- NODE_ENV 기반 백엔드 환경 구분
3. 배포 및 확장성
- 프론트엔드 배포: Vercel에 자동 배포 (GitHub Actions 연동)
- 백엔드 배포: Railway에서 SQLite 호스팅 지원
- 보안 고려사항:
- JWT 토큰 유효성 검증
- 헤드리스 배포로 민감 정보 보호
- 확장성: 모듈화된 백엔드 코드로 추후 기능 확장 가능
결론
- JWT 인증과 SQLite 통합을 통해 보안성과 가독성을 확보한 코드 스니펫 관리 시스템 구축
- Vercel/Railway를 활용한 간편한 클라우드 배포 프로세스 적용
- 프론트엔드 상태 관리와 백엔드 인증 로직을 분리하여 확장성 향상
> 📌 참고: 프론트엔드 GitHub 저장소, 백엔드 GitHub 저장소
> 🔗 라이브 예시: https://codevault-frontend-b511.vercel.app