Conversation
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! 이 PR은 기존의 일반적인 React Native 프로젝트 README를 StudyPals 애플리케이션의 목적, 기능, 기술 스택 및 사용 방법을 명확하게 설명하는 포괄적인 문서로 대체하여, 새로운 사용자나 기여자들에게 프로젝트에 대한 빠르고 깊이 있는 이해를 제공하는 것을 목표로 합니다. Highlights
Changelog
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Pull request overview
This PR replaces the default React Native CLI-generated README.md with a project-specific README for the StudyPals app — a cross-platform (Android, iOS, macOS, Windows) study tracking application.
Changes:
- Removed the boilerplate React Native setup/getting-started content
- Added a comprehensive Korean-language README covering project overview, key features (signup, study goals, study records, statistics, group study, chat, language settings), tech stack, and links to the Wiki and screenshots
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| # ✨ 주요 기능 | ||
|
|
||
| # OR using Yarn | ||
| yarn android | ||
| ``` | ||
| ## 👋 서비스 가입하기 | ||
|
|
||
| ### iOS | ||
| 아이디와 비밀번호 기반으로 계정을 생성하고, 자신의 프로필을 설정할 수 있습니다. | ||
|
|
||
| For iOS, remember to install CocoaPods dependencies (this only needs to be run on first clone or after updating native deps). | ||
| | 회원가입 Flow | | ||
| |--------| | ||
| |  | | ||
|
|
||
| The first time you create a new project, run the Ruby bundler to install CocoaPods itself: | ||
| ## 🏃♂️ 학습 목표 설정하기 | ||
|
|
||
| ```sh | ||
| bundle install | ||
| ``` | ||
| 사용자는 목표 시간과 수행 요일을 설정하여 학습 목표를 관리할 수 있습니다. **목표 시간**과 **목표를 수행할 요일**을 지정하여 구체적인 학습 계획 수립이 가능합니다. | ||
|
|
||
| Then, and every time you update your native dependencies, run: | ||
| | 목표 생성 | 목표 수정 | 목표 삭제 | | ||
| |--------|------|--------| | ||
| |  |  |  | | ||
|
|
||
| ```sh | ||
| bundle exec pod install | ||
| ``` | ||
| ## 📝 학습 기록 남기기 | ||
|
|
||
| For more information, please visit [CocoaPods Getting Started guide](https://guides.cocoapods.org/using/getting-started.html). | ||
| 공부 시작과 종료 시간을 기록하여 학습 시간을 관리할 수 있습니다. | ||
|
|
||
| ```sh | ||
| # Using npm | ||
| npm run ios | ||
| | 학습 시작 / 종료 | | ||
| |--------| | ||
| |  | | ||
|
|
||
| # OR using Yarn | ||
| yarn ios | ||
| ``` | ||
| - 타이머 기반 학습 기록 기능 | ||
| - 학습 세션 단위 공부 시간 저장 | ||
|
|
||
| If everything is set up correctly, you should see your new app running in the Android Emulator, iOS Simulator, or your connected device. | ||
| --- | ||
|
|
||
| This is one way to run your app — you can also build it directly from Android Studio or Xcode. | ||
| ## 📊 학습 통계 | ||
|
|
||
| ## Step 3: Modify your app | ||
| 사용자의 학습 기록을 캘린더 형태로 한 눈에 확인할 수 있습니다. | ||
|
|
||
| Now that you have successfully run the app, let's make changes! | ||
| | 학습 통계 화면 | 히트맵 시각화 예시(더미 데이터) | | ||
| |--------|------| | ||
| | <img width="300" height="660" alt="image" src="https://github.com/user-attachments/assets/864e9f38-b82c-4379-92e5-bf34bba6d24c" /> | <img width="300" height="660" alt="image" src="https://github.com/user-attachments/assets/96d8aba7-1c28-4074-9aab-5efd658d7fa9" /> | | ||
|
|
||
| Open `App.tsx` in your text editor of choice and make some changes. When you save, your app will automatically update and reflect these changes — this is powered by [Fast Refresh](https://reactnative.dev/docs/fast-refresh). | ||
|
|
||
| When you want to forcefully reload, for example to reset the state of your app, you can perform a full reload: | ||
| - 월별 최소 / 최대 공부 시간을 기준으로 **컬러 스케일 기반 히트맵 시각화** | ||
| - 날짜별 학습량을 직관적으로 파악할 수 있는 **캘린더 UI** | ||
|
|
||
| - **Android**: Press the <kbd>R</kbd> key twice or select **"Reload"** from the **Dev Menu**, accessed via <kbd>Ctrl</kbd> + <kbd>M</kbd> (Windows/Linux) or <kbd>Cmd ⌘</kbd> + <kbd>M</kbd> (macOS). | ||
| - **iOS**: Press <kbd>R</kbd> in iOS Simulator. | ||
| --- | ||
|
|
||
| ## Congratulations! :tada: | ||
| ## 👥 스터디 그룹 | ||
|
|
||
| You've successfully run and modified your React Native App. :partying_face: | ||
| 스터디 그룹을 생성하고, 공유 목표를 설정하여 함께 공부할 수 있습니다. | ||
|
|
||
| ### Now what? | ||
| | 그룹 생성 | 그룹 목표 생성 | | ||
| |--------|------| | ||
| |  |  | | ||
|
|
||
| - If you want to add this new React Native code to an existing application, check out the [Integration guide](https://reactnative.dev/docs/integration-with-existing-apps). | ||
| - If you're curious to learn more about React Native, check out the [docs](https://reactnative.dev/docs/getting-started). | ||
| - 그룹 단위 학습 관리 | ||
| - 디바이스별 그룹 색상 커스터마이징 | ||
|
|
||
| # Troubleshooting | ||
| --- | ||
|
|
||
| If you're having issues getting the above steps to work, see the [Troubleshooting](https://reactnative.dev/docs/troubleshooting) page. | ||
| ## 💬 실시간 그룹 채팅 | ||
|
|
||
| # Learn More | ||
| 스터디 그룹 내에서 **실시간 채팅**을 통해 대화를 주고받을 수 있습니다. | ||
|
|
||
| To learn more about React Native, take a look at the following resources: | ||
| | 그룹 채팅 | | ||
| |--------| | ||
| | <img width="300" height="660" alt="image" src="https://github.com/user-attachments/assets/0b883968-6617-456b-92a6-fcfb1f5d8c23" /> | | ||
|
|
||
| - [React Native Website](https://reactnative.dev) - learn more about React Native. | ||
| - [Getting Started](https://reactnative.dev/docs/environment-setup) - an **overview** of React Native and how setup your environment. | ||
| - [Learn the Basics](https://reactnative.dev/docs/getting-started) - a **guided tour** of the React Native **basics**. | ||
| - [Blog](https://reactnative.dev/blog) - read the latest official React Native **Blog** posts. | ||
| - [`@facebook/react-native`](https://github.com/facebook/react-native) - the Open Source; GitHub **repository** for React Native. | ||
| - STOMP 기반 WebSocket 통신 | ||
| - SSE 기반 메시지 수신으로 채팅 안읽음 개수 실시간 반영 | ||
| - 무한 스크롤 기반 단계적 렌더링으로 메모리 사용 최적화 | ||
| - 수신한 채팅은 로컬 스토리지에 캐싱하여 네트워크 비용 절감 | ||
|
|
||
| --- | ||
|
|
||
| ## 🔠 언어 설정 | ||
|
|
||
| 앱 내에서 언어를 설정할 수 있습니다. | ||
|
|
||
| | 언어 설정 | | ||
| |--------| | ||
| |  | | ||
|
|
||
| - `react-i18next` 라이브러리를 사용하여 구현 | ||
|
|
||
| # 🛠 기술 스택 | ||
|
|
||
| | 구분 | 기술 | | ||
| |---|---| | ||
| | **프론트엔드** | React Native, TypeScript | | ||
| | **내비게이션** | React Navigation | | ||
| | **로컬 데이터 관리** | AsyncStorage, EncryptedStorage, SQLite | | ||
| | **상태 관리** | TanStack Query, Zustand | | ||
| | **실시간 통신** | STOMP, SSE | | ||
| | **외부 데이터 검증** | Zod, React Hook Form | | ||
| | **코드푸시** | Hot Updater | | ||
|
|
||
| --- | ||
|
|
||
| # 📖 기술 문서 | ||
|
|
||
| 프로젝트의 기술적인 설계와 구현 과정은 **Wiki**에서 확인할 수 있습니다. | ||
|
|
||
| [👉 **Wiki 바로가기**](https://github.com/study-pals/frontend-wiki/wiki) | ||
|
|
||
| --- | ||
|
|
||
| # 📷 Screenshots |
There was a problem hiding this comment.
The document contains multiple # (h1) level headings: # 📚 StudyPals (line 1), # ✨ 주요 기능 (line 33), # 🛠 기술 스택 (line 116), # 📖 기술 문서 (line 130), and # 📷 Screenshots (line 138). In a well-structured document, there should typically be only one h1 heading (the document title). The major sections like ✨ 주요 기능, 🛠 기술 스택, 📖 기술 문서, and 📷 Screenshots should be h2 (##) to keep a consistent hierarchy. This also makes the ## 개요, ## 크로스 플랫폼 애플리케이션, etc. sections consistent with them.
| | Windows | MacOS | | ||
| |--------|------| | ||
| |  |  | | ||
| | [Windows 영상 원본](https://github.com/user-attachments/assets/9d04d551-084b-4b7a-bdac-eed73f024ab1) | [MacOS 영상 원본](https://github.com/user-attachments/assets/2faaa132-b3e0-40be-8e68-bc96bd009be5) | |
There was a problem hiding this comment.
The document uses inconsistent capitalization for Apple's operating system name. Lines 5 and 17 correctly use "macOS" (Apple's official branding), but the Desktop Demo table on lines 28–31 uses "MacOS" instead. This should be changed to "macOS" to match both Apple's official branding and the rest of the document.
| | Windows | MacOS | | |
| |--------|------| | |
| |  |  | | |
| | [Windows 영상 원본](https://github.com/user-attachments/assets/9d04d551-084b-4b7a-bdac-eed73f024ab1) | [MacOS 영상 원본](https://github.com/user-attachments/assets/2faaa132-b3e0-40be-8e68-bc96bd009be5) | | |
| | Windows | macOS | | |
| |--------|------| | |
| |  |  | | |
| | [Windows 영상 원본](https://github.com/user-attachments/assets/9d04d551-084b-4b7a-bdac-eed73f024ab1) | [macOS 영상 원본](https://github.com/user-attachments/assets/2faaa132-b3e0-40be-8e68-bc96bd009be5) | |
|
|
||
| # 📷 Screenshots | ||
|
|
||
| [👉 **모든 화면에 대한 명세 바로가기**](https://github.com/study-pals/frontend-wiki/wiki/%ED%94%84%EB%A1%A0%ED%8A%B8%EC%97%94%EB%93%9C-%EC%A7%84%ED%96%89%EC%83%81%ED%99%A9-(-26.02.25-)) |
There was a problem hiding this comment.
링크에 포함된 날짜에 오타가 있는 것 같습니다. 26.02.25로 되어 있는데, 이는 미래의 날짜입니다. 아마도 24.02.25의 오타인 것으로 보입니다. 확인 후 링크를 수정하는 것을 권장합니다.
| [👉 **모든 화면에 대한 명세 바로가기**](https://github.com/study-pals/frontend-wiki/wiki/%ED%94%84%EB%A1%A0%ED%8A%B8%EC%97%94%EB%93%9C-%EC%A7%84%ED%96%89%EC%83%81%ED%99%A9-(-26.02.25-)) | |
| [👉 **모든 화면에 대한 명세 바로가기**](https://github.com/study-pals/frontend-wiki/wiki/%ED%94%84%EB%A1%A0%ED%8A%B8%EC%97%94%EB%93%9C-%EC%A7%84%ED%96%89%EC%83%81%ED%99%A9-(-24.02.25-)) |
✨ 구현 기능 명세
✅ PR Point
😭 어려웠던 점