CabbageCircuit is a React Native application that uses parallax scrolling for visually rich user interfaces. It features animated header images that adjust based on the scroll position, with different background colors for light and dark modes. Users can explore content with smooth animations and dynamic effects, making it an interactive and immersive UI.
This app is built with the power of react-native-reanimated and Expo to create smooth parallax scrolling effects that adjust to the scroll position, creating an engaging experience.
- Parallax Scrolling: Animated header image that moves and scales as users scroll down the screen.
- Themed Backgrounds: Automatic adjustment of header backgrounds based on system color scheme (light/dark mode).
- Responsive Design: Optimized for both mobile and tablet devices.
- Smooth Animations: Using
react-native-reanimated
for interactive UI components.
- React Native: For building native mobile apps using JavaScript and React.
- React Navigation: For routing and navigation between different screens.
- Expo: A framework and platform for universal React applications.
- react-native-reanimated: A library for creating smooth animations and transitions.
- react-native-safe-area-context: Provides support for safe area insets on devices with notches or rounded corners.
- TypeScript: For type safety and better development experience.
- Jest: For testing React components and logic.
The following is the file structure of the CabbageCircuit application:
cabbagecircuit/
βββ .expo/
β βββ types/
β β βββ router.d.ts
β βββ web/
β β βββ cache/
β β βββ production/
β β βββ images/
β β βββ favicon-48.png
β βββ devices.json
β βββ README.md
β βββ settings.json
βββ app/
β βββ (tabs)/
β β βββ _layout.tsx
β β βββ explore.tsx
β β βββ index.tsx
β β βββ profile.tsx
β βββ _layout.tsx
β βββ +html.tsx
β βββ +not-found.tsx
βββ assets/
β βββ fonts/
β β βββ SpaceMono-Regular.ttf
β βββ images/
β βββ adaptive-icon.png
β βββ favicon.png
β βββ icon.png
β βββ partial-react-logo.png
β βββ react-logo.png
β βββ [email protected]
β βββ [email protected]
β βββ splash.png
βββ components/
β βββ __tests__/
β β βββ __snapshots__/
β β βββ ThemedText-test.tsx.snap
β βββ navigation/
β β βββ TabBarIcon.tsx
β βββ Collapsible.tsx
β βββ ExternalLink.tsx
β βββ HelloWave.tsx
β βββ ParallaxScrollView.tsx
β βββ ThemedText.tsx
β βββ ThemedView.tsx
β βββ constants/
β β βββ Colors.ts
β βββ hooks/
β βββ useColorScheme.ts
β βββ useColorScheme.web.ts
β βββ useThemeColor.ts
βββ node_modules/
βββ scripts/
βββ .gitignore
βββ app.json
βββ babel.config.js
βββ expo-env.d.ts
βββ package-lock.json
βββ package.json
βββ README.md
βββ tsconfig.json
- Clone the repository:
git clone https://github.com/your-username/cabbagecircuit.git cd cabbagecircuit
- Install dependencies::
yarn install # or npm install
- Start the development server:
yarn start # or npm start
Join our community of developers creating universal apps.
- Expo on GitHub: View our open source platform and contribute.
- Discord community: Chat with Expo users and ask questions.