/cabbagecircuit

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 i

Primary LanguageTypeScript

CabbageCircuit

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.


Features

  • 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.

Tech Stack

Frontend:

  • 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.

File Structure

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
β”‚       β”œβ”€β”€ react-logo@2x.png
β”‚       β”œβ”€β”€ react-logo@3x.png
β”‚       └── 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

Installation

  1. Clone the repository:
    git clone https://github.com/your-username/cabbagecircuit.git
    cd cabbagecircuit
  2. Install dependencies::
    yarn install
    # or
    npm install
  3. Start the development server:
    yarn start
    # or
    npm start

Join the community

Join our community of developers creating universal apps.