Skip to content

YoungJoo-Kwon/small_failure

Repository files navigation

작은 실패 갤러리 (Small Failures Gallery)

실패담을 공유하고 서로 공감하며 성장하는 커뮤니티 앱입니다.

📱 주요 기능

핵심 기능

  • ✍️ 글 작성/읽기/수정/삭제: 실패담을 작성하고 공유할 수 있습니다
  • 💬 댓글 시스템: 다른 사용자들과 소통할 수 있습니다
  • ❤️ 공감 기능: 좋아요를 눌러 공감을 표현할 수 있습니다
  • 🔗 실패 붙이기: 관련된 실패담을 연결할 수 있습니다
  • 🔍 검색 기능: 키워드와 태그로 게시물을 검색할 수 있습니다
  • 📑 북마크: 관심 있는 글을 저장해 나중에 볼 수 있습니다
  • 📄 페이지네이션: 무한 스크롤로 더 많은 글을 볼 수 있습니다
  • 🏷️ 글머리 필터: "공감구함", "조언구함", "혼쭐내줘"로 필터링할 수 있습니다

사용자 관리

  • 👤 프로필 관리: 닉네임과 아바타를 설정할 수 있습니다
  • ⚙️ 설정 관리: 테마와 알림 설정을 변경할 수 있습니다
  • 🎯 온보딩: 처음 사용자를 위한 안내 플로우가 있습니다
  • 👑 관리자 기능: 관리자 전용 기능이 있습니다

UI/UX

  • 🌙 다크모드: 다크 테마를 지원합니다
  • 📱 반응형 레이아웃: 다양한 화면 크기에 대응합니다
  • 🎨 일관된 디자인: 통일된 디자인 시스템을 사용합니다

🛠️ 기술 스택

  • 프론트엔드: React Native (Expo)
  • 백엔드: Firebase (Firestore, Storage, Auth)
  • 라우팅: Expo Router
  • 상태 관리: React Context API
  • 언어: TypeScript

📦 설치 및 실행

사전 요구사항

  • Node.js 18 이상
  • npm 또는 yarn
  • Expo CLI

설치

npm install

실행

# 개발 서버 시작
npm start

# 특정 플랫폼 실행
npm run android  # Android
npm run ios      # iOS
npm run web      # Web

📁 프로젝트 구조

small-failures-starter/
├── app/                    # 화면 컴포넌트 (Expo Router)
│   ├── index.tsx          # 홈 화면 (피드)
│   ├── new.tsx            # 글 작성 화면
│   ├── explore.tsx        # 탐색 화면
│   ├── care.tsx           # 케어 & 설정 화면
│   ├── settings.tsx       # 설정 화면
│   ├── post/[id].tsx     # 게시물 상세 화면
│   ├── me/               # 마이페이지
│   │   ├── index.tsx
│   │   ├── posts.tsx
│   │   ├── comments.tsx
│   │   └── bookmarks.tsx
│   └── onboarding/       # 온보딩
├── src/
│   ├── components/       # 재사용 가능한 컴포넌트
│   ├── contexts/         # Context API (테마, 설정 등)
│   ├── lib/              # 유틸리티 및 Firebase 함수
│   └── styles/           # 스타일 정의
├── docs/                 # 문서
├── firestore.rules       # Firestore 보안 규칙
└── firestore.indexes.json # Firestore 인덱스

🔐 Firebase 설정

  1. Firebase 프로젝트 생성
  2. firebase.json.firebaserc 설정
  3. Firestore 보안 규칙 배포: firebase deploy --only firestore:rules
  4. Firestore 인덱스 배포: firebase deploy --only firestore:indexes

📝 주요 파일 설명

핵심 라이브러리

  • src/lib/posts.ts: 게시물 CRUD, 검색, 페이지네이션
  • src/lib/bookmarks.ts: 북마크 관리
  • src/lib/likes.ts: 좋아요 관리
  • src/lib/profiles.ts: 사용자 프로필 관리
  • src/lib/auth.ts: 인증 관리

컴포넌트

  • src/components/PostItem.tsx: 게시물 카드 컴포넌트
  • src/components/AppHeader.tsx: 앱 헤더
  • src/components/common/: 공통 UI 컴포넌트

🚀 배포

Firebase Hosting (Web)

firebase deploy --only hosting

Expo 배포

expo build:android
expo build:ios

📊 현재 완성도

전체 구현률: 약 81% 🟢

완료된 기능

  • ✅ 핵심 기능 (글 작성/읽기/수정/삭제, 댓글, 공감, 붙이기)
  • ✅ 검색 기능
  • ✅ 북마크 기능
  • ✅ 페이지네이션
  • ✅ 프로필 관리
  • ✅ 설정 관리

진행 중 / 계획 중

  • 🔄 이미지 업로드
  • 🔄 위험 키워드 감지
  • 🔄 시리즈 기능
  • 🔄 통계 그래프
  • 🔄 푸시 알림

자세한 내용은 CHANGELOG.md를 참고하세요.

📚 문서

🤝 기여

이 프로젝트는 개인 프로젝트입니다. 문의사항이 있으시면 이슈를 등록해주세요.

📄 라이선스

Private


작성일: 2025-01-XX
버전: 1.0.0

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors