https://github.com/jongan69/lockfitapp
Scaffold V2 of the original lockfit app, still needs lots of work but seems much simpler as opposed to hackathon rushing
https://github.com/jongan69/lockfitapp
Last synced: 2 months ago
JSON representation
Scaffold V2 of the original lockfit app, still needs lots of work but seems much simpler as opposed to hackathon rushing
- Host: GitHub
- URL: https://github.com/jongan69/lockfitapp
- Owner: jongan69
- Created: 2024-12-28T18:12:50.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-21T22:37:30.000Z (over 1 year ago)
- Last Synced: 2025-02-26T22:14:06.259Z (over 1 year ago)
- Language: TypeScript
- Size: 453 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
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 and blockchain timestamps
- Participate in team-based fitness challenges
## π₯οΈ Project Overview
### Vision Statement
To create a seamless, engaging fitness ecosystem where users are financially incentivized to stay active and collaborate through blockchain technology.
### Mission
To merge fitness and Web3, fostering healthier lifestyles through gamified challenges and tokenized rewards.
---
## π Technology Stack
### Frontend
- **[Expo Router](https://docs.expo.dev/router/introduction/):** Navigation management
- **[NativeWind](https://www.nativewind.dev/v4/overview/):** Tailwind-style styling
- **React Native & TypeScript:** Core UI development and type-safe coding practices
- **Device Sensors:** Accelerometer, GPS, and heart rate monitoring for fitness verification
### Backend
- **Node.js with Express:** Backend APIs for challenge management and activity logging
- **MongoDB/Firestore:** Scalable database for user data and challenge history
- **Solana Web3.js:** Blockchain integration for transactions, staking, and token rewards
- **AWS or Google Cloud:** Hosting and scalable infrastructure for backend services
### Blockchain
- **$LOCKIN Token:** SPL token for staking and rewards
- **Solana Program:** Staking pool and competition contract logic
---
## π οΈ Setup & Installation
### Prerequisites
1. Install [Node.js](https://nodejs.org/) and [Yarn](https://yarnpkg.com/).
2. Set up a Solana devnet wallet using [Phantom](https://phantom.app/).
### Steps
1. Clone the repository:
```sh
git clone https://github.com/jongan69/SolanaDemoMobileApp.git
```
2. Install dependencies:
```sh
yarn install
```
3. Set up environment variables:
- Copy `.env.example` to `.env`:
```sh
cp .env.example .env
```
- Update the Solana RPC URL, $LOCKIN token address, and staking pool address.
4. Start the development server:
```sh
npx expo start
```
5. Run the blockchain program locally (optional):
```sh
solana-test-validator
```
---
## πΊοΈ Project Features & Development Roadmap
### π
Sprint Breakdown
#### Sprint 1 (Weeks 1-2): Foundation β
- Basic app structure with Expo, NativeWind, and navigation setup
- Wallet integration for Solana accounts
- UI design system and folder structuring
#### Sprint 2 (Weeks 3-4): Core Integration π‘
- Fitness tracking basics: workout logging and motion detection
- Solana network integration: staking, balance display, and basic transactions
#### Sprint 3 (Weeks 5-6): Advanced Features π΄
- $LOCKIN token staking mechanism
- Competition framework: challenges, leaderboards, and reward logic
- Anti-cheat verification system using sensor data
#### Sprint 4 (Weeks 7-8): Final Polish π΄
- UI/UX refinements, bug fixes, and accessibility improvements
- Comprehensive security measures and blockchain audits
- App store preparation for iOS and Android
---
## ποΈ Core Features
1. **Fitness Tracking**
- Accurate workout logging using device sensors
- Verification system for motion and location data
- Personal fitness profile and goal tracking
2. **Blockchain Integration**
- $LOCKIN token staking and rewards
- Secure wallet integration with biometric authentication
- Real-time balance updates and transaction history
3. **Social & Competitive Features**
- Community fitness challenges and team competitions
- Leaderboards with real-time updates
- Achievement badges and milestones
4. **Anti-Cheat Mechanisms**
- Workout validation using sensor data
- GPS route tracking and motion analysis
- Blockchain timestamping for verified activity records
---
## π Security Considerations
- **Data Encryption:** All sensitive user data is encrypted in transit and at rest.
- **Secure Wallet Management:** Private keys stored securely with biometric authentication.
- **Anti-Cheat System:** Activity patterns analyzed for anomalies to prevent falsified challenges.
- **Transaction Integrity:** Blockchain ensures tamper-proof reward distribution and staking logic.
---
## π
Timeline & Milestones
| **Milestone** | **Target Completion** | **Status** |
|-------------------------------|-----------------------|--------------|
| Basic Wallet Integration | Week 2 | β
Complete |
| Fitness Tracking Fundamentals | Week 4 | π‘ In Progress |
| Staking Mechanism | Week 6 | π΄ Not Started |
| Competition System | Week 6 | π΄ Not Started |
| Final Testing & Polish | Week 8 | π΄ Not Started |
---
## π± Supported Platforms
- **iOS:** Compatible with iOS 13.0+ devices
- **Android:** Compatible with Android 8.0+ devices
---
## π§ͺ Testing
### Testing Strategy
- **Unit Tests:** Core functionalities like transaction handling and activity logging.
- **Integration Tests:** Wallet, staking, and fitness tracking workflows.
- **E2E Tests:** Entire user journey from app setup to competition rewards.
### Testing Tools
- Jest (Unit/Integration Testing)
- Detox (E2E Testing for React Native)
- Mocha (Blockchain Contract Testing)
---
## π€ Contributing
Contributions are welcome! Follow the steps below:
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/NewFeature`)
3. Commit your changes (`git commit -m 'Add some NewFeature'`)
4. Push to the branch (`git push origin feature/NewFeature`)
5. Open a Pull Request
---
## π License
This project is licensed under the MIT License - see the LICENSE file for details.
---
## π₯ Team
- **Project Manager:** [Insert Name]
- **Lead Developer:** Jonathan Gan
- **Blockchain Developer:** [Insert Name]
- **UI/UX Designer:** [Insert Name]
- **Fitness Consultant:** [Insert Name]
---
## π Contact
For questions or support, please open an issue or contact the project team via email: [your-email@example.com].
```
### Key Enhancements:
1. **Detailed Setup Instructions:** Includes prerequisite installations and environment variable setup.
2. **Expanded Security Section:** Added blockchain-specific considerations.
3. **Feature Roadmap:** Linked core features to timeline milestones.
4. **Testing Details:** Introduced testing strategy and tools.
5. **Team and Contact Info:** Defined team roles and added a contact section.# lockfitApp