pinterest와 pixabay를 모티브로 한 이미지 공유 플랫폼입니다. 사용자들이 이미지를 업로드하고 공유할 수 있는 서비스를 제공합니다.
- FastAPI
- Supabase (PostgreSQL)
- Python 3.11+
- Next.js 14
- React
- TypeScript
- Tailwind CSS
- Redux Toolkit ( + RTK Query)
- 모노레포 구조
- Docker
- Git
grinda-rest/
├── backend/ # FastAPI 백엔드
├── frontend/ # Next.js 프론트엔드
├── shared/ # 공통 유틸리티
└── package.json
- 🖼️ 이미지 업로드 및 공유
- 👤 사용자 인증
- 💾 이미지 저장 및 관리
- 🔍 이미지 검색
- 💕 좋아요 및 저장 기능
Server Side Rendering시 페이지를 컴포넌트 단위로 점진적으로 로딩하여 초기 렌더링 속도를 높이고, 불필요한 자바스크립트 번들을 최소화했습니다.
- Node.js 18+
- Python 3.11+
- Docker
- 저장소 클론
git clone https://github.com/yourusername/grinda-rest.git
cd grinda-rest
- 환경 변수 설정
cp .env.example .env
- 의존성 설치
# Root 디렉토리에서
pnpm install
# Python 의존성 설치
cd apps/server
pip install -r requirements.txt
- 개발 서버 실행
# 프론트엔드
pnpm dev:web
# 백엔드
pnpm dev:server
주요 테이블 구조:
-
users
- id
- username
- password
-
images
- id
- user_id
- image_url
- description
- created_at
-
likes
- id
- user_id
- image_id