https://github.com/kimtaejin3/grinda-rest
monorepo, fastapi, nextjs14, streaming ssr
https://github.com/kimtaejin3/grinda-rest
fastapi monorepo nextjs14 streaming
Last synced: 12 months ago
JSON representation
monorepo, fastapi, nextjs14, streaming ssr
- Host: GitHub
- URL: https://github.com/kimtaejin3/grinda-rest
- Owner: kimtaejin3
- Created: 2024-11-21T10:19:29.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-22T00:19:43.000Z (over 1 year ago)
- Last Synced: 2024-11-22T01:20:40.002Z (over 1 year ago)
- Topics: fastapi, monorepo, nextjs14, streaming
- Language: TypeScript
- Homepage:
- Size: 194 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# 그린다 레스트 (Grinda REST)
핀터레스트를 모티브로 한 이미지 공유 플랫폼입니다. 사용자들이 이미지를 업로드하고 공유할 수 있는 서비스를 제공합니다.
## 🚀 기술 스택
### Backend
- FastAPI
- Supabase (PostgreSQL)
- Python 3.11+
### Frontend
- Next.js 14
- React
- TypeScript
- Tailwind CSS
- React query
- Zustand
### Infrastructure
- 모노레포 구조
- Docker
- Git
## 📁 프로젝트 구조
```
grinda-rest/
├── backend/ # FastAPI 백엔드
├── frontend/ # Next.js 프론트엔드
├── shared/ # 공통 유틸리티
└── package.json
```
## ✨ 주요 기능
- 🖼️ 이미지 업로드 및 공유
- 👤 사용자 인증 (Supabase Auth)
- 💾 이미지 저장 및 관리
- 🔍 이미지 검색
- 💫 무한 스크롤
- 💕 좋아요 및 저장 기능
## 🚀 시작하기
### prerequisites
- Node.js 18+
- Python 3.11+
- Docker
### 설치
1. 저장소 클론
```bash
git clone https://github.com/yourusername/grinda-rest.git
cd grinda-rest
```
2. 환경 변수 설정
```bash
cp .env.example .env
```
3. 의존성 설치
```bash
# Root 디렉토리에서
pnpm install
# Python 의존성 설치
cd apps/server
pip install -r requirements.txt
```
4. 개발 서버 실행
```bash
# 프론트엔드
pnpm dev:web
# 백엔드
pnpm dev:server
```
## 🗄️ Database Schema
주요 테이블 구조:
- users
- id
- email
- username
- created_at
- images
- id
- user_id
- url
- description
- created_at
- likes
- id
- user_id
- image_id
- created_at