Skip to content

Tagda Fun - Modern React Native app for random number generation and name picking. Features dual functionality with beautiful animated UI, 100% offline operation, and privacy-first design. Built with Expo SDK 52 and TypeScript. Perfect for decision-making, games, and team selection!

License

Notifications You must be signed in to change notification settings

DevmanushRaky/tagdafun

Repository files navigation

Tagda Fun 🎲

A fun, offline-first React Native mobile application built with Expo SDK 52 that generates random numbers and picks random names from user-provided lists. Perfect for decision-making, games, and random selections!

✨ Features

🎲 Number Generator

  • Generate random numbers within custom ranges (1-100)
  • Set your own minimum and maximum values
  • Real-time validation with helpful error messages
  • Reset to default range (1-100) with one tap
  • Animated number generation with loading spinner

πŸ‘₯ Name Picker

  • Enter multiple names separated by commas
  • Randomly select one name from the list
  • Perfect for choosing who goes first, picking teams, or making decisions
  • Clear all names with one tap
  • Animated name selection with loading spinner

🎨 Modern UI/UX

  • Dual Tab Interface: Switch between Number Generator and Name Picker
  • Smooth Animations: Tab indicator slides smoothly between sections
  • Custom Modals: Branded alert dialogs and result displays
  • Consistent Design: Orange primary theme with navy blue accents
  • Responsive Layout: Works perfectly on all screen sizes
  • Loading States: Inline spinners for better user experience

πŸ”’ Privacy-First

  • 100% Offline: No internet connection required
  • No Data Collection: Zero personal information stored
  • Local Processing: All random generation happens on your device
  • No Analytics: No tracking or usage monitoring

πŸš€ Quick Start

Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn
  • Expo Go app on your mobile device

Installation

  1. Clone the repository

    git clone <repository-url>
    cd tagdafun
  2. Install dependencies

    npm install
  3. Start the development server

    npm start    or npx expo start --tunnel
  4. Run on your device

    • Scan the QR code with Expo Go (Android) or Camera app (iOS)
    • Or press a for Android emulator or i for iOS simulator

πŸ“± App Structure

tagdafun/
β”œβ”€β”€ App.tsx                 # Main app entry point with navigation
β”œβ”€β”€ screens/
β”‚   β”œβ”€β”€ HomeScreen.tsx      # Main screen with Number & Name features
β”‚   └── PrivacyScreen.tsx   # Privacy policy display
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ CustomModal.tsx     # Alert and warning modals
β”‚   └── ResultModal.tsx     # Result display modal
β”œβ”€β”€ types/
β”‚   β”œβ”€β”€ index.ts           # TypeScript type definitions
β”‚   └── images.d.ts        # Image module declarations
β”œβ”€β”€ assets/
β”‚   └── tagdafun-main-logo.png  # App logo and icons
β”œβ”€β”€ app.json               # Expo configuration
β”œβ”€β”€ package.json           # Dependencies and scripts
β”œβ”€β”€ tsconfig.json          # TypeScript configuration
β”œβ”€β”€ babel.config.js        # Babel configuration with path aliases
β”œβ”€β”€ README.md              # This file
└── PRIVACY_POLICY.md      # Privacy policy document

🎯 How to Use

Number Generator

  1. Tap the "🎲 Number" tab
  2. Enter your desired minimum and maximum values
  3. Tap "Generate Number" to get a random number
  4. View the result in a beautiful modal
  5. Use "Reset to Default" to return to 1-100 range

Name Picker

  1. Tap the "πŸ‘₯ Names" tab
  2. Enter names separated by commas (e.g., "John, Jane, Mike, Sarah")
  3. Tap "Pick a Name" to randomly select one
  4. View the chosen name in a beautiful modal
  5. Use "Clear All Names" to start fresh

🎨 Design System

Color Palette

  • Primary: #FF6B00 (Orange)
  • Secondary: #002244 (Navy Blue)
  • Background: #FFFFFF (White)
  • Surface: #F8F9FA (Light Gray)
  • Text: #1A1A1A (Dark Gray)

Typography

  • Headers: Bold, 24-32px
  • Body: Regular, 16px
  • Captions: Regular, 14px
  • Buttons: Bold, 18px

πŸ”§ Development

TypeScript Benefits

  • Type Safety: Catch errors at compile time
  • Better IntelliSense: Enhanced code completion
  • Refactoring Support: Safe code modifications
  • Documentation: Types serve as inline documentation

Path Aliases

The project uses custom path aliases for cleaner imports:

  • @/ β†’ Root directory
  • @assets/ β†’ Assets directory
  • @screens/ β†’ Screen components
  • @components/ β†’ Reusable components
  • @types/ β†’ TypeScript definitions

Available Scripts

npm start          # Start Expo development server
npm run android    # Run on Android emulator
npm run ios        # Run on iOS simulator
npm run web        # Run in web browser
npm run ts:check   # TypeScript type checking

πŸ“Έ Screenshots

Home Screen - Number Generator

  • Clean tab navigation with animated indicator
  • Input fields for custom range (1-100)
  • Generate button with inline loading spinner
  • Reset to default functionality

Home Screen - Name Picker

  • Multi-line text input for names
  • Comma-separated name entry
  • Pick button with inline loading spinner
  • Clear all names functionality

Result Modals

  • Beautiful animated result display
  • Different styles for numbers vs names
  • Action buttons (Awesome!, Try Again)
  • Badge showing range or name count

Custom Alerts

  • Branded modal design
  • Different types: Error, Warning, Info
  • Smooth animations
  • Consistent with app theme

πŸš€ Deployment

Google Play Store Ready

  • Privacy policy included
  • No data collection
  • Offline functionality
  • Professional UI/UX
  • TypeScript for maintainability

Build Commands

# For production build
npx expo build:android
npx expo build:ios

# For EAS Build (recommended)
npx eas build --platform android
npx eas build --platform ios

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

πŸ“ž Support

For questions or support, please refer to the privacy policy contact information in PRIVACY_POLICY.md.


Tagda Fun - Making random decisions fun and easy! 🎲✨

About

Tagda Fun - Modern React Native app for random number generation and name picking. Features dual functionality with beautiful animated UI, 100% offline operation, and privacy-first design. Built with Expo SDK 52 and TypeScript. Perfect for decision-making, games, and team selection!

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages