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

https://github.com/jongan69/solanademomobileapp

This is a barebones demo mobile app built using Phantom deeplinks along with in app wallet generation for user ease of use, aiming to be a scaffold for a web3 fitness app (Lockfit v2)
https://github.com/jongan69/solanademomobileapp

Last synced: 2 months ago
JSON representation

This is a barebones demo mobile app built using Phantom deeplinks along with in app wallet generation for user ease of use, aiming to be a scaffold for a web3 fitness app (Lockfit v2)

Awesome Lists containing this project

README

          

# LockIn - Fitness Staking App

A mobile fitness application that combines workout tracking with Solana blockchain staking, allowing users to earn $LOCKIN tokens by participating in fitness competitions and challenges.

## πŸ’ͺ App Concept

LockIn revolutionizes fitness motivation by introducing a "stake-to-compete" model where users can:
- Stake $LOCKIN tokens to join fitness competitions
- Earn rewards by completing workout challenges
- Compete in community fitness leagues
- Track and verify workouts using mobile sensors
- Join team-based fitness challenges

## πŸš€ Technology Stack

- [Expo Router](https://docs.expo.dev/router/introduction/) - For navigation
- [Nativewind](https://www.nativewind.dev/v4/overview/) - For styling
- [Solana Web3.js](https://solana-labs.github.io/solana-web3.js/) - For blockchain integration
- React Native
- TypeScript
- Device sensors for workout verification
- Push notifications for challenge updates

## πŸ› οΈ Setup & Installation

1. Clone the repository:
```sh
git clone https://github.com/jongan69/SolanaDemoMobileApp.git
```

2. Install dependencies:
```sh
yarn install
```

3. Start the development server:
```sh
npx expo start
```

## πŸ—ΊοΈ Feature Roadmap

### Sprint 1 (Weeks 1-2): Foundation βœ…
- [X] Basic app architecture setup
- Set up Expo Router with TypeScript
- Configure NativeWind for styling
- Implement Redux store
- Set up basic folder structure
- Configure environment variables
- [X] Wallet integration
- [X] Wallet creation
- Implement seed phrase generation
- Add wallet encryption
- Create wallet backup system
- [X] Import existing wallet
- Seed phrase validation
- Private key import
- Paper wallet import support
- [X] Secure storage of keys
- Implement encrypted storage
- Add biometric protection
- Set up secure key management
- [X] Basic navigation structure
- Tab navigation setup
- Stack navigation implementation
- Deep linking configuration
- [X] UI/UX design system implementation
- Color scheme definition
- Typography system
- Component library setup
- Dark/Light mode support

### Sprint 2 (Weeks 3-4): Core Functionality
- [X] Solana network integration
- [X] Connect to devnet/testnet
- Network switching capability
- RPC endpoint configuration
- Connection state management
- [X] Basic transaction handling
- Transaction creation
- Fee calculation
- Transaction signing
- Error handling
- [ ] Balance checking
- Real-time balance updates
- Token balance tracking
- Transaction history
- [ ] Fitness tracking fundamentals
- [ ] Basic workout logging
- Exercise type selection
- Rep/Set tracking
- Duration tracking
- Rest period timing
- [ ] Activity verification system
- Motion detection
- GPS tracking
- Heart rate monitoring (if available)
- Activity pattern recognition
- [ ] Fitness profile creation
- User stats tracking
- Fitness goals setting
- Progress photos
- Measurement logging
- [ ] Basic error handling
- Network error management
- Transaction failure handling
- Sensor data validation
- User feedback system

### Sprint 3 (Weeks 5-6): Staking & Competitions
- [ ] $LOCKIN Token Implementation
- [ ] Token distribution system
- Initial token distribution
- Reward calculation algorithm
- Token vesting schedules
- Airdrop mechanism
- [ ] Staking mechanism
- Stake pool creation
- Stake/Unstake functionality
- Reward distribution logic
- Slashing conditions
- [ ] Reward distribution
- Performance-based rewards
- Team rewards
- Challenge completion bonuses
- Referral rewards
- [ ] Competition Framework
- [ ] Challenge creation system
- Challenge templates
- Custom challenge creation
- Rule set definition
- Prize pool management
- [ ] Leaderboard implementation
- Real-time rankings
- Category-based leaderboards
- Historical performance tracking
- Achievement badges
- [ ] Competition rules engine
- Verification rules
- Scoring system
- Anti-cheat measures
- Dispute resolution
- [ ] Social Features
- [ ] User profiles
- Achievement showcase
- Statistics display
- Activity feed
- Reputation system
- [ ] Team formation
- Team creation/joining
- Team challenges
- Team chat
- Team statistics
- [ ] Social feed
- Activity sharing
- Challenge updates
- Achievement posts
- Community interaction

### Sprint 4 (Weeks 7-8): Enhanced Features
- [ ] Advanced Fitness Tracking
- [ ] Workout analytics
- Performance trends
- Personal records
- Workout heatmaps
- Progress visualization
- [ ] Progress visualization
- Charts and graphs
- Body metrics tracking
- Goal progress tracking
- Comparison tools
- [ ] Achievement system
- Milestone tracking
- Badge system
- Level progression
- Rewards integration
- [ ] Competition Types
- [ ] Individual challenges
- Daily challenges
- Weekly goals
- Monthly competitions
- Special events
- [ ] Team competitions
- Team vs team
- Guild systems
- Alliance mechanics
- Tournament structure
- [ ] League system
- Seasonal rankings
- Division structure
- Promotion/Relegation
- Prize pools
- [ ] Sensor Integration
- [ ] Step counting
- Pedometer implementation
- Distance calculation
- Calorie estimation
- Activity classification
- [ ] Activity verification
- Movement pattern recognition
- Intensity validation
- Rest detection
- Cheating prevention
- [ ] Location tracking
- Route recording
- Distance verification
- Location-based challenges
- Privacy controls

### Sprint 5 (Weeks 9-10): Polish & Launch
- [ ] Community Features
- [ ] Social sharing
- Achievement sharing
- Challenge invites
- Progress updates
- Social media integration
- [ ] Challenge creation
- Custom challenge builder
- Template system
- Reward configuration
- Verification rules
- [ ] Team management
- Team analytics
- Role management
- Team events
- Communication tools
- [ ] UI/UX refinements
- Animation polish
- Performance optimization
- Accessibility improvements
- User feedback implementation
- [ ] Performance optimization
- Code optimization
- Cache management
- Network optimization
- Battery usage optimization
- [ ] App store preparation
- Store listings
- Marketing materials
- Documentation
- Support system setup

## πŸ‹οΈ Core Features

### Fitness Tracking
- Workout logging and verification
- Progress tracking
- Personal records
- Activity statistics

### Staking Mechanism
- Stake $LOCKIN to join competitions
- Earn rewards for completing challenges
- Team staking pools
- Anti-cheat mechanisms

### Competition System
- Daily/Weekly challenges
- Season-based leagues
- Team competitions
- Global leaderboards

## πŸ”’ Security Considerations

- Secure key storage implementation
- Biometric authentication
- Activity verification system
- Anti-cheating measures
- Data encryption

## πŸ§ͺ Testing

- Unit tests for core functionality
- Integration tests
- E2E testing
- Security audit
- Fitness tracking accuracy testing

## πŸ“± Supported Platforms

- iOS
- Android

## 🀝 Contributing

1. Fork the repository
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

## πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

## πŸ‘₯ Team

- Project Manager: [Name]
- Lead Developer: [Name]
- UI/UX Designer: [Name]
- Blockchain Developer: [Name]
- Fitness Expert: [Name]

## πŸ“ž Contact

For questions and support, please open an issue in the GitHub repository.

## 🎯 Minimum Viable Product (MVP)

### Current Progress: ~35% of MVP Complete

#### MVP Core Features

1. Basic Wallet Integration βœ…
- Wallet creation and import
- Basic transaction handling
- Secure key storage
- $LOCKIN token integration

2. Essential Fitness Tracking 🟑
- Basic workout logging
- Simple activity verification
- Progress tracking
- Required APIs:
- Device motion/step counter
- Basic location services

3. Simplified Staking System πŸ”΄
- $LOCKIN token integration
- Token balance display
- Transaction history
- Price feed integration
- Staking pool integration
- Connect to existing staking contracts
- Stake/Unstake interface
- Reward tracking

4. Basic Competition System πŸ”΄
- Individual challenges only
- Simple leaderboard
- Basic verification system
- Required Features:
- Challenge creation
- Score tracking
- Basic anti-cheat measures

5. Essential User Features 🟑
- User profiles
- Basic statistics
- Simple activity feed
- Required APIs:
- User authentication
- Profile management
- Activity logging

### MVP Status Breakdown

βœ… Completed:
- Basic app architecture
- Wallet integration
- Navigation structure
- UI foundation
- Solana network connection
- Basic transaction handling

🟑 In Progress:
- Balance checking
- Basic fitness tracking
- User profile system
- Activity logging foundation
- $LOCKIN token integration

πŸ”΄ Not Started:
- Staking pool integration
- Competition system
- Verification system
- Reward tracking

### MVP Timeline Estimate

1. Phase 1 (2 weeks) - Complete Current Features
- Finish balance checking
- Complete $LOCKIN token integration
- Implement basic fitness tracking
- Complete user profile system

2. Phase 2 (2 weeks) - Staking Integration
- Connect to existing staking pools
- Implement stake/unstake UI
- Set up reward tracking
- Build transaction history

3. Phase 3 (3 weeks) - Competition System
- Build challenge system
- Implement leaderboard
- Create verification system

4. Phase 4 (2 weeks) - Testing & Polish
- Bug fixes
- Performance optimization
- Security audit
- App store preparation

Estimated MVP Completion: 9 weeks

### MVP Technical Requirements

1. Frontend
- React Native with Expo
- NativeWind for styling
- Redux for state management
- Basic sensor integration

2. Blockchain Integration
- Solana Web3.js integration
- $LOCKIN token contract interaction
- Existing staking pool integration
- Transaction handling

3. Data Storage
- Secure key storage
- User profile data
- Activity history
- Challenge records

4. Security
- Basic encryption
- Activity verification
- Transaction signing
- Secure key management

### Smart Contract Integration Requirements

1. $LOCKIN Token
- Token address: [Insert token address]
- Required methods:
- balanceOf
- transfer
- approve
- allowance

2. Staking Pool
- Pool address: [Insert staking pool address]
- Required methods:
- stake
- unstake
- getRewards
- getStakedBalance

### MVP Limitations & Future Improvements

The MVP will not include:
- Custom staking pools
- Team competitions
- Advanced sensor integration
- Complex challenge types
- Social features
- NFT integration
- Advanced analytics
- Custom challenge creation
- Guild/Alliance systems

These features will be prioritized for post-MVP releases based on user feedback and platform adoption.