Closed lehuygiang28 closed 3 weeks ago
The latest updates on your projects. Learn more about Vercel for Git ↗︎
Name | Status | Preview | Comments | Updated (UTC) |
---|---|---|---|---|
vphim-fe | ✅ Ready (Inspect) | Visit Preview | 💬 Add feedback | Sep 25, 2024 10:55pm |
vphim-mnt | ✅ Ready (Inspect) | Visit Preview | 💬 Add feedback | Sep 25, 2024 10:55pm |
This pull request introduces a new mobile app for the VePhim project using Expo. The changes include setting up the mobile app structure, implementing various screens (Home, Explore, Movie Details, Account), adding navigation, and integrating with the existing backend API. The mobile app uses React Native Paper for UI components and follows a similar structure to the existing web application.
sequenceDiagram
participant User
participant MobileApp
participant AuthAPI
participant DataAPI
User->>MobileApp: Open app
MobileApp->>AuthAPI: Check session
alt Session valid
AuthAPI-->>MobileApp: Return user data
else Session invalid or expired
AuthAPI-->>MobileApp: Return error
MobileApp->>AuthAPI: Refresh token
AuthAPI-->>MobileApp: New access token
end
MobileApp->>DataAPI: Request data
DataAPI-->>MobileApp: Return data
MobileApp->>User: Display content
sequenceDiagram
participant User
participant ExploreScreen
participant FilterModal
participant API
User->>ExploreScreen: Enter search query
ExploreScreen->>API: Send search request
API-->>ExploreScreen: Return search results
ExploreScreen->>User: Display results
User->>ExploreScreen: Open filter modal
ExploreScreen->>FilterModal: Show filter options
User->>FilterModal: Apply filters
FilterModal->>ExploreScreen: Return selected filters
ExploreScreen->>API: Request filtered results
API-->>ExploreScreen: Return filtered data
ExploreScreen->>User: Display filtered results
Change | Details | Files |
---|---|---|
Set up the basic structure for the Expo mobile app |
|
apps/mobile/app.json apps/mobile/metro.config.js apps/mobile/eas.json apps/mobile/tsconfig.json apps/mobile/tsconfig.app.json apps/mobile/tsconfig.spec.json apps/mobile/.eslintrc.json apps/mobile/.babelrc.js babel.config.json |
Implement main screens and navigation for the mobile app |
|
apps/mobile/src/app/index.tsx apps/mobile/src/app/home/index.tsx apps/mobile/src/app/explore/index.tsx apps/mobile/src/app/movie/index.tsx apps/mobile/src/app/account/index.tsx |
Implement reusable components and utilities |
|
apps/mobile/src/components/card/movie-card.tsx apps/mobile/src/app/explore/filter-modal.tsx apps/mobile/src/hooks/useAxiosAuth.ts apps/mobile/src/hooks/useSession.ts apps/mobile/src/hooks/useRefreshToken.ts apps/mobile/src/hooks/useGraphQL.ts apps/mobile/src/config/theme.ts |
Integrate with existing backend API |
|
apps/fe/src/providers/data-provider/graphql.ts apps/fe/src/libs/utils/movie.util.ts apps/api/src/app/movies/movies.controller.ts |
Update project configuration for mobile app integration |
|
nx.json tsconfig.base.json tools/scripts/eas-build-pre-install.mjs tools/scripts/eas-build-post-install.mjs |
CI is running/has finished running commands for commit 2425c13bdef30d9e7e8bedd3dbdd3fb4981e7ee5. As they complete they will appear below. Click to see the status, the terminal output, and the build insights.
📂 See all runs for this CI Pipeline Execution
Sent with 💌 from NxCloud.
The changes introduce a comprehensive set of configurations, components, and utilities for a mobile application developed with Expo and React Native. Key updates include new configuration files for Babel, ESLint, and TypeScript, along with the introduction of various components for user authentication, movie exploration, and detail display. Enhancements to the Axios and GraphQL hooks support improved API interactions, while the addition of utility functions and theme configurations further enriches the application’s functionality and user experience.
File(s) | Change Summary |
---|---|
.coderabbit.yaml |
New configuration file for code reviews and automated processes, including settings for pull requests. |
.gitignore |
Updated to ignore additional Expo-related files and directories. |
.vscode/settings.json |
Added new entries to "extensions" and "conventionalCommits.scopes" arrays. |
apps/api/src/app/movies/movies.controller.ts |
Updated getMovies method to call getMoviesEs instead of getMovies . |
apps/fe/src/libs/utils/movie.util.ts |
Modified getOptimizedImageUrl to accept a new optional baseUrl parameter. |
apps/fe/src/providers/data-provider/graphql.ts |
Updated graphqlDataProvider to accept an optional publicApiUrl parameter. |
apps/mobile/.babelrc.js |
New Babel configuration file for performance optimization in Expo applications. |
apps/mobile/.eslintrc.json |
New ESLint configuration file extending rules and specifying ignored patterns. |
apps/mobile/app.json |
New configuration file for the mobile application with various properties under the "expo" key. |
apps/mobile/eas.json |
New configuration file for building and submitting the mobile application. |
apps/mobile/index.js |
New entry point for the mobile application, registering the root component. |
apps/mobile/jest.config.ts |
New Jest configuration file for testing the mobile application. |
apps/mobile/metro.config.js |
New Metro configuration file for integrating Nx with Expo's Metro bundler. |
apps/mobile/package.json |
New dependencies and scripts added for mobile development. |
apps/mobile/project.json |
New project configuration file specifying the source root and project type. |
apps/mobile/src/app/account/index.tsx |
New AccountScreen component for managing user authentication. |
apps/mobile/src/app/explore/filter-modal.tsx |
New FilterModal and FilterSection components for filtering and sorting items. |
apps/mobile/src/app/explore/index.tsx |
New ExploreScreen component for searching and exploring movies. |
apps/mobile/src/app/home/index.tsx |
New HomeScreen , MovieSection , and MovieSwiper components for the home screen layout. |
apps/mobile/src/app/index.tsx |
New main application structure with navigation and theming setup. |
apps/mobile/src/app/movie/index.tsx |
New MovieDetailsScreen component for displaying movie details and playback. |
apps/mobile/src/app/movie/movie-episode.tsx |
New MovieEpisode component for displaying movie episodes and server selection. |
apps/mobile/src/components/card/movie-card.tsx |
New MovieCard component for displaying movie information in a card format. |
apps/mobile/src/config/theme.ts |
New custom dark theme configuration using react-native-paper . |
apps/mobile/src/hooks/useAxiosAuth.ts |
New useAxiosAuth hook for managing authenticated HTTP requests. |
apps/mobile/src/hooks/useGraphQL.ts |
New useGraphQL hook for executing GraphQL queries and mutations. |
apps/mobile/src/hooks/useRefreshToken.ts |
New useRefreshToken hook for managing token refresh logic. |
apps/mobile/src/hooks/useSession.ts |
New useSession hook for managing user session data. |
apps/mobile/src/test-setup.ts |
Extended Jest's expect functionality for testing React Native components. |
apps/mobile/tsconfig.app.json |
New TypeScript configuration file for the mobile application. |
apps/mobile/tsconfig.json |
New TypeScript configuration file extending base configuration. |
apps/mobile/tsconfig.spec.json |
New TypeScript configuration file for testing purposes. |
babel.config.json |
New Babel configuration file specifying babelrcRoots for flexible management. |
nx.json |
Updated to include new plugin configuration for Expo framework. |
package.json |
Updated with new scripts, dependencies, and devDependencies for mobile development. |
tools/scripts/eas-build-post-install.mjs |
New script for patching @nx/expo package for EAS Build compatibility. |
tools/scripts/eas-build-pre-install.mjs |
New script for copying dependencies from workspace to project directory for EAS Build compatibility. |
tsconfig.base.json |
Updated path aliases for better module resolution. |
mobile
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
Summary by Sourcery
Create a new mobile application using Expo, featuring movie browsing, filtering, and account management. Enhance the GraphQL data provider and image URL optimization for better flexibility. Update build and deployment configurations to support the new mobile app, and set up testing infrastructure with Jest.
New Features:
Enhancements:
Build:
Deployment:
Tests:
Summary by CodeRabbit
Release Notes
New Features
.coderabbit.yaml
.AccountScreen
,FilterModal
,ExploreScreen
,HomeScreen
,MovieDetailsScreen
, andMovieCard
.Bug Fixes
Chores
package.json
with new dependencies and scripts for mobile development.Documentation