{"id":21457807,"url":"https://github.com/kimtaejin3/grinda-rest","last_synced_at":"2025-07-15T01:30:54.083Z","repository":{"id":263982818,"uuid":"891991233","full_name":"kimtaejin3/grinda-rest","owner":"kimtaejin3","description":"monorepo, fastapi, nextjs14, streaming ssr","archived":false,"fork":false,"pushed_at":"2024-11-22T00:19:43.000Z","size":199,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-11-22T01:20:40.002Z","etag":null,"topics":["fastapi","monorepo","nextjs14","streaming"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kimtaejin3.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-21T10:19:29.000Z","updated_at":"2024-11-22T00:24:12.000Z","dependencies_parsed_at":"2024-11-22T01:20:43.753Z","dependency_job_id":null,"html_url":"https://github.com/kimtaejin3/grinda-rest","commit_stats":null,"previous_names":["kimtaejin3/sns","kimtaejin3/grindarest"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kimtaejin3%2Fgrinda-rest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kimtaejin3%2Fgrinda-rest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kimtaejin3%2Fgrinda-rest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kimtaejin3%2Fgrinda-rest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kimtaejin3","download_url":"https://codeload.github.com/kimtaejin3/grinda-rest/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226007487,"owners_count":17558841,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fastapi","monorepo","nextjs14","streaming"],"created_at":"2024-11-23T06:07:10.334Z","updated_at":"2024-11-23T06:07:10.930Z","avatar_url":"https://github.com/kimtaejin3.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 그린다 레스트 (Grinda REST)\n\n핀터레스트를 모티브로 한 이미지 공유 플랫폼입니다. 사용자들이 이미지를 업로드하고 공유할 수 있는 서비스를 제공합니다.\n\n## 🚀 기술 스택\n\n### Backend\n\n- FastAPI\n- Supabase (PostgreSQL)\n- Python 3.11+\n\n### Frontend\n\n- Next.js 14\n- React\n- TypeScript\n- Tailwind CSS\n- React query\n- Zustand\n\n### Infrastructure\n\n- 모노레포 구조\n- Docker\n- Git\n\n## 📁 프로젝트 구조\n\n```\ngrinda-rest/\n├── backend/           # FastAPI 백엔드\n├── frontend/          # Next.js 프론트엔드\n├── shared/            # 공통 유틸리티\n└── package.json\n```\n\n## ✨ 주요 기능\n\n- 🖼️ 이미지 업로드 및 공유\n- 👤 사용자 인증 (Supabase Auth)\n- 💾 이미지 저장 및 관리\n- 🔍 이미지 검색\n- 💫 무한 스크롤\n- 💕 좋아요 및 저장 기능\n\n## 🚀 시작하기\n\n### prerequisites\n\n- Node.js 18+\n- Python 3.11+\n- Docker\n\n### 설치\n\n1. 저장소 클론\n\n```bash\ngit clone https://github.com/yourusername/grinda-rest.git\ncd grinda-rest\n```\n\n2. 환경 변수 설정\n\n```bash\ncp .env.example .env\n```\n\n3. 의존성 설치\n\n```bash\n# Root 디렉토리에서\npnpm install\n\n# Python 의존성 설치\ncd apps/server\npip install -r requirements.txt\n```\n\n4. 개발 서버 실행\n\n```bash\n# 프론트엔드\npnpm dev:web\n\n# 백엔드\npnpm dev:server\n```\n\n## 🗄️ Database Schema\n\n주요 테이블 구조:\n\n- users\n\n  - id\n  - email\n  - username\n  - created_at\n\n- images\n\n  - id\n  - user_id\n  - url\n  - description\n  - created_at\n\n- likes\n  - id\n  - user_id\n  - image_id\n  - created_at\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkimtaejin3%2Fgrinda-rest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkimtaejin3%2Fgrinda-rest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkimtaejin3%2Fgrinda-rest/lists"}