Skip to content

Chore/#3 프로젝트 셋팅 - #4

Merged
leeleeleeleejun merged 10 commits into
developfrom
chore/#3
Aug 5, 2025
Merged

Chore/#3 프로젝트 셋팅#4
leeleeleeleejun merged 10 commits into
developfrom
chore/#3

Conversation

@leeleeleeleejun

@leeleeleeleejun leeleeleeleejun commented Aug 5, 2025

Copy link
Copy Markdown
Member

#️⃣연관된 이슈

📝작업 내용

프로젝트 초기 셋팅

  • font 및 css 변수 셋팅
  • 필요한 라이브러리 설치 및 셋팅

스크린샷 (선택)

💬리뷰 요구사항(선택)

리뷰어가 특별히 봐주었으면 하는 부분이 있다면 작성해주세요

ex) 메서드 XXX의 이름을 더 잘 짓고 싶은데 혹시 좋은 명칭이 있을까요?

Summary by CodeRabbit

  • New Features

    • Introduced a QueryProvider component for React Query integration and devtools in the web app.
    • Added a utility function for merging Tailwind CSS class names with conflict resolution.
  • Enhancements

    • Switched the web app’s default font to Pretendard and set the language to Korean.
    • Updated CSS theme variables for a new color palette.
    • Added imports for custom Tailwind configuration in UI styles.
  • Dependency Updates

    • Added new dependencies to the web and UI packages, including React Query, Zustand, motion, clsx, and tailwind-merge.
  • Chores

    • Changed the web app development server port to 3000.
    • Removed the entire documentation app and its related configuration files.

@leeleeleeleejun leeleeleeleejun self-assigned this Aug 5, 2025
@leeleeleeleejun leeleeleeleejun linked an issue Aug 5, 2025 that may be closed by this pull request
1 task
@coderabbitai

coderabbitai Bot commented Aug 5, 2025

Copy link
Copy Markdown
Contributor

Walkthrough

This change removes the entire apps/docs directory, including all configuration, source, and dependency files, effectively deleting the documentation application from the repository. In the apps/web app, it introduces a new React Query provider component, updates the layout to use a local font and React Query context, and modifies dependencies and scripts. The UI and Tailwind configuration packages receive updates for color variables, dependencies, and utility functions.

Changes

Cohort / File(s) Change Summary
Remove Docs App
apps/docs/*
Deleted the entire documentation app, including source files, configuration, styles, TypeScript and ESLint configs, and dependencies.
React Query Integration in Web App
apps/web/app/QueryClientProvider.tsx, apps/web/app/layout.tsx
Added a new QueryProvider component for React Query context; updated layout to use a local font, Korean language, and wrap children with the query provider.
Web App Dependency and Script Updates
apps/web/package.json
Changed the dev server port to 3000 and added dependencies: @suspensive/react, @tanstack/react-query, @tanstack/react-query-devtools, motion, and zustand.
Tailwind Theme Update
packages/tailwind-config/shared-styles.css
Replaced previous color variables with a new palette including main, blue, and multiple gray shades.
UI Package Dependency and Utility Enhancements
packages/ui/package.json, packages/ui/src/utils/cn.ts, packages/ui/src/styles.css
Added runtime dependencies (clsx, motion, tailwind-merge), introduced a cn utility for merging Tailwind classes, and imported custom Tailwind config in styles.

Sequence Diagram(s)

sequenceDiagram
    participant App as Web App
    participant QueryProvider as QueryProvider
    participant QueryClient as QueryClient
    participant ReactQueryDevtools as ReactQueryDevtools

    App->>QueryProvider: Render with children
    QueryProvider->>QueryClient: Create (per request/server, singleton/client)
    QueryProvider->>ReactQueryDevtools: Render for debugging
    QueryProvider-->>App: Provide QueryClient context to children
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~15 minutes

Poem

A hop and a skip, the docs app is gone,
Web app now queries, with React Query on!
Colors refreshed, with grays and some blue,
The UI’s more clever, with cn to glue.
Rabbits rejoice—clean code, bright and new! 🐇✨

Note

⚡️ Unit Test Generation is now available in beta!

Learn more here, or try it out under "Finishing Touches" below.

✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch chore/#3

🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai generate unit tests to generate unit tests for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@leeleeleeleejun
leeleeleeleejun marked this pull request as ready for review August 5, 2025 11:09

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
apps/web/app/QueryClientProvider.tsx (1)

40-57: Solid QueryProvider implementation with one suggestion.

The provider correctly uses the client management logic and includes helpful warnings about useState usage with suspense boundaries.

Consider conditionally rendering ReactQueryDevtools only in development:

  return (
    <QueryClientProvider client={queryClient}>
      {children}
-      <ReactQueryDevtools />
+      {process.env.NODE_ENV === 'development' && <ReactQueryDevtools />}
    </QueryClientProvider>
  )

This prevents the devtools from being included in production builds.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 5073c95 and cc88d97.

⛔ Files ignored due to path filters (7)
  • apps/docs/app/favicon.ico is excluded by !**/*.ico
  • apps/docs/public/circles.svg is excluded by !**/*.svg
  • apps/docs/public/next.svg is excluded by !**/*.svg
  • apps/docs/public/turborepo.svg is excluded by !**/*.svg
  • apps/docs/public/vercel.svg is excluded by !**/*.svg
  • apps/web/public/fonts/PretendardVariable.woff2 is excluded by !**/*.woff2
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (18)
  • apps/docs/.gitignore (0 hunks)
  • apps/docs/README.md (0 hunks)
  • apps/docs/app/globals.css (0 hunks)
  • apps/docs/app/layout.tsx (0 hunks)
  • apps/docs/app/page.tsx (0 hunks)
  • apps/docs/eslint.config.js (0 hunks)
  • apps/docs/next-env.d.ts (0 hunks)
  • apps/docs/next.config.ts (0 hunks)
  • apps/docs/package.json (0 hunks)
  • apps/docs/postcss.config.js (0 hunks)
  • apps/docs/tsconfig.json (0 hunks)
  • apps/web/app/QueryClientProvider.tsx (1 hunks)
  • apps/web/app/layout.tsx (1 hunks)
  • apps/web/package.json (1 hunks)
  • packages/tailwind-config/shared-styles.css (1 hunks)
  • packages/ui/package.json (1 hunks)
  • packages/ui/src/styles.css (1 hunks)
  • packages/ui/src/utils/cn.ts (1 hunks)
💤 Files with no reviewable changes (11)
  • apps/docs/eslint.config.js
  • apps/docs/next-env.d.ts
  • apps/docs/postcss.config.js
  • apps/docs/README.md
  • apps/docs/tsconfig.json
  • apps/docs/.gitignore
  • apps/docs/app/globals.css
  • apps/docs/next.config.ts
  • apps/docs/app/page.tsx
  • apps/docs/package.json
  • apps/docs/app/layout.tsx
🧰 Additional context used
🧬 Code Graph Analysis (1)
apps/web/app/layout.tsx (1)
apps/web/app/QueryClientProvider.tsx (1)
  • QueryProvider (40-57)
🔇 Additional comments (15)
apps/web/package.json (2)

7-7: Port change looks good for consolidation.

The port change from 3001 to 3000 aligns with the removal of the apps/docs application and consolidates the development environment.


15-22: Dependencies compatible with React 19; please run a proper security audit

  • @tanstack/react-query & @tanstack/react-query-devtools declare peerDependencies { react: '^18 || ^19' }, so they’re compatible with React 19
  • Other new packages (suspensive/react, motion, zustand) don’t list React peer deps and are broadly compatible
  • To verify no security advisories, generate a lockfile (npm i --package-lock-only) and then run npm audit before merging
packages/ui/src/styles.css (1)

3-3: LGTM! Centralizing Tailwind configuration.

The import of the shared Tailwind configuration package follows the correct pattern and supports the centralized styling approach across the monorepo.

packages/ui/package.json (1)

36-40: Good utility dependencies for UI package.

Verified that motion@12.23.12’s peerDependencies include React and React-DOM ^18.0.0 || ^19.0.0, and there are no known issues with clsx@2.1.1 or tailwind-merge@3.3.1. No conflicts detected—approved for merge.

apps/web/app/layout.tsx (3)

24-24: Language change aligns with Korean font choice.

The language attribute change from 'en' to 'ko' is consistent with using the Pretendard font, which is optimized for Korean text.


26-26: React Query provider integration looks correct.

The QueryProvider wrapper properly integrates React Query context throughout the app, matching the implementation in QueryClientProvider.tsx.


12-16: Pretendard font file presence confirmed

  • Confirmed apps/web/public/fonts/PretendardVariable.woff2 exists at the specified path.
  • LocalFont setup (weight: '45 920', display: 'swap') is correctly configured.
  • React Query QueryProvider integration and language update look good.
packages/tailwind-config/shared-styles.css (1)

4-14: Well-structured color palette for design system.

The new color variables provide a clean, organized palette with good coverage (main accent, blue accent, and gray scale). The hex values are valid and the naming follows Tailwind conventions.

packages/ui/src/utils/cn.ts (3)

1-2: LGTM! Clean imports for the utility function.

The imports are appropriate for a Tailwind CSS class merging utility - clsx for conditional concatenation and tailwind-merge for conflict resolution.


4-18: Excellent documentation with comprehensive examples.

The JSDoc documentation is thorough and demonstrates all the key use cases of the utility function, including conditional classes and conflict resolution. The Korean documentation aligns well with the project's locale.


19-21: Perfect implementation following best practices.

The function correctly combines clsx for conditional class handling with tailwind-merge for conflict resolution. The implementation order and type usage are spot-on.

apps/web/app/QueryClientProvider.tsx (4)

1-4: Well-documented client directive usage.

The 'use client' directive is correctly placed with clear explanation of why it's needed for the QueryClientProvider context usage.


5-10: Appropriate imports for React Query setup.

All necessary React Query components are imported correctly, including the isServer utility which is crucial for SSR handling.


12-22: Well-configured QueryClient factory.

The factory function correctly sets up a QueryClient with appropriate SSR-friendly defaults. The 60-second staleTime prevents unnecessary refetching during client hydration.


24-38: Excellent SSR-aware client management.

The implementation correctly handles the server/client distinction with singleton pattern for browsers and fresh instances for server requests. The detailed comments about React suspense are particularly valuable for maintainers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

⚙️ Chore 환경 셋팅

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Chore] 프로젝트 셋팅

1 participant