An open API service indexing awesome lists of open source software.

https://github.com/scs805/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
https://github.com/scs805/cabbagecircuit

animated-webp node parallax-scrolling reactnative ui-design

Last synced: 3 months ago
JSON representation

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

Awesome Lists containing this project

README

          

# 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**:
```bash
git clone https://github.com/your-username/cabbagecircuit.git
cd cabbagecircuit
```
2. **Install dependencies:**:
```bash
yarn install
# or
npm install
```
3. **Start the development server:**
```bash
yarn start
# or
npm start
```

## Join the community

Join our community of developers creating universal apps.

- [Expo on GitHub](https://github.com/expo/expo): View our open source platform and contribute.
- [Discord community](https://chat.expo.dev): Chat with Expo users and ask questions.