Rod Royale is the ultimate social fishing application that connects anglers worldwide. Share your greatest catches, discover fishing hotspots on interactive maps, compete on leaderboards, and build a community with fellow fishing enthusiasts.
This repository contains both the FastAPI backend and React Native mobile app in a unified codebase.
✅ Stage-Ready: Both API and mobile app are stable and ready for staging.
└── RodRoyale/
├── backend/ # FastAPI Backend
│ ├── docs/
│ ├── models/ # Pydantic schemas
│ ├── routers/ # API endpoints
│ ├── services/ # Business logic
│ ├── tests/ # Backend tests
│ ├── main.py # FastAPI app entry
│ └── requirements.txt
├── client/ # React Native App
│ ├── android/ # Android build files
│ ├── ios/ # iOS build files
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── screens/ # App screens
│ │ ├── navigation/ # Navigation setup
│ │ ├── services/ # API integration
│ │ └── types/ # TypeScript definitions
│ ├── App.tsx # React Native entry
│ └── package.json
└── README.md
- Catch Sharing - Upload catches with photos, species, weight, and location data
- Interactive Maps - Pin catches to discover fishing hotspots
- Privacy Controls - Share catches publicly, with mutuals, or keep private
- User Profiles - Customizable angler profiles
- Follow System - Connect with other anglers and see their catches
- Leaderboards - Monthly and global rankings by catch size, frequency, and average weight
- Cloud Storage - Cloudinary integration for optimized image uploads
- Real-time Data - Async MongoDB operations for fast performance
- Cross-platform - Native iOS and Android apps from single codebase
- Secure Authentication - JWT-based user authentication and authorization
- Node.js (v20 or higher)
- Python (3.11 or higher)
- MongoDB (local or cloud instance)
- React Native CLI
- Android Studio (for Android development)
- Xcode (for iOS development, macOS only)
-
Navigate to backend directory:
cd backend -
Run interactive quick setup:
./scripts/quick-start.sh
The API will be available at http://localhost:8000 with documentation at http://localhost:8000/docs
-
Navigate to client directory:
cd client -
Run quick setup:
./scripts/quick-start.sh
OR
Run with device/emulator in mind:
npm install # Android npm run android # iOS npm run ios # web npm run web
- 🚀 FastAPI - High-performance async API framework
- 🍃 Motor - Async MongoDB driver
- 📊 Pydantic - Type-safe data validation
- ☁️ Cloudinary - Image upload and optimization
- 🔐 JWT - Secure authentication
- 🧪 Pytest - Comprehensive testing
- Docker - Containerized environment for dev/deployment
- ⚛️ React Native - Cross-platform mobile development
- 🔷 TypeScript - Type-safe JavaScript
- 🧭 React Navigation - Navigation and routing
- 🗺️ React Native Maps - Interactive map functionality
- 📦 AsyncStorage - Local data persistence
- 🌐 Axios - HTTP client for API communication
docker exec -it CONTAINER_NAME pytest# TODO- 📊 Advanced Analytics - Detailed fishing statistics and insights
- 🖼️ AI Fish Recognition - Automatic species identification from photos
- 🌊 Weather Integration - Real-time fishing conditions and forecasts
- 🎮 Gamification - Achievements, badges, and fishing challenges
- 🔗 Social Sharing - Share catches to Instagram, Facebook, Twitter
- 📡 Offline Mode - Cache catches when network is unavailable
- 🎯 Smart Recommendations - AI-powered fishing spot suggestions
- 🔧 GraphQL API - More efficient data fetching
- 📱 Push Notifications - Real-time updates and engagement
- 🌍 Internationalization - Multi-language support
- 🔒 Enhanced Security - OAuth integration, 2FA
- 📈 Performance Monitoring - Analytics and crash reporting
Welcoming contribution; see CONTRIBUTING.md
This project is licensed under the MIT License - see the LICENSE file for details.
- Core API functionality with full CRUD operations
- User authentication and social features
- Catch management with image uploads
- Interactive map with location pinning
- Global and monthly leaderboards
- Cross-platform mobile app (iOS and web)
- Docker containerization
- Boilerplate CI/CD pipeline setup
- Advanced analytics dashboard
- AI-powered fish species recognition
- Enhanced mobile app performance optimization
- Weather API integration
- Push notification system
- Offline mode capabilities
- Social media integrations
- Advanced privacy controls
Rod Royale - Where anglers connect, compete, and share their greatest catches. 🎣