A React Native mobile application for the Snipy link management platform. This app provides all the core functionality of the web application in a native mobile experience.
- URL Shortening: Create short, memorable links
- Link Trees: Build beautiful landing pages with multiple links
- QR Code Generation: Generate QR codes for any URL
- Password Generator: Create secure passwords with customizable options
- Dashboard: View analytics and manage all your content
- Cross-platform: Works on both iOS and Android
- React Native 0.73.2
- TypeScript
- React Navigation 6
- Supabase (Backend & Database)
- React Native Vector Icons
- React Native Linear Gradient
- React Native QR Code SVG
- Node.js (>= 16)
- React Native CLI
- Android Studio (for Android development)
- Xcode (for iOS development, macOS only)
- Supabase account and project
-
Clone the repository
git clone <repository-url> cd snipy-mobile
-
Install dependencies
npm install
-
iOS Setup (macOS only)
cd ios && pod install && cd ..
-
Configure Supabase
- Update
src/lib/supabase.tswith your Supabase URL and anon key - Or create a
.envfile with:SUPABASE_URL=your_supabase_url SUPABASE_ANON_KEY=your_supabase_anon_key
- Update
-
Android Setup
- Ensure Android Studio is installed
- Create an Android Virtual Device (AVD) or connect a physical device
-
Start Metro bundler
npm start
-
Run on Android
npm run android
-
Run on iOS (macOS only)
npm run ios
-
Android APK
npm run build:android
-
iOS Archive (macOS only)
npm run build:ios
src/
├── components/ # Reusable UI components
│ ├── Button.tsx
│ ├── Input.tsx
│ ├── Card.tsx
│ └── TabBarIcon.tsx
├── contexts/ # React contexts
│ ├── AuthContext.tsx
│ └── ThemeContext.tsx
├── lib/ # Utilities and configurations
│ ├── supabase.ts
│ ├── utils.ts
│ ├── passwordUtils.ts
│ └── database.types.ts
├── screens/ # Screen components
│ ├── auth/
│ ├── dashboard/
│ ├── urls/
│ ├── linktrees/
│ ├── qrcodes/
│ ├── passwords/
│ └── profile/
└── App.tsx # Main app component
- Supabase Auth integration
- Email/password authentication
- Persistent login state
- Secure token management
- Generate memorable short codes
- Track click analytics
- Copy to clipboard functionality
- Share URLs directly from the app
- Create custom landing pages
- Drag and drop link reordering
- Theme customization
- Social media icons
- Generate QR codes for any URL
- Customizable colors and sizes
- Save and share QR codes
- Download as images
- Customizable password options
- Strength indicator
- Encrypted storage
- Copy to clipboard
The app uses the same Supabase database schema as the web application:
urls- Shortened URLslink_trees- Link tree pagestree_links- Individual links within link treesqr_codes- Generated QR codespasswords- Encrypted password storage
- Row Level Security (RLS) enabled on all tables
- Encrypted password storage using CryptoJS
- Secure authentication with Supabase Auth
- Input validation and sanitization
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License.
For support, please open an issue in the repository or contact the development team.