BitQuest is a web-first Farcaster Mini App that creates an engaging treasure hunt experience using location-based Augmented Reality (AR). Users can discover and collect virtual treasure chests in the real world, which can be redeemed for rewards through Bitrefill.
- Location-based AR treasure hunting using AR.js
- Farcaster authentication and social features
- Interactive map interface with nearby treasure locations
- Reward redemption through Bitrefill integration
- Real-time geospatial queries for chest discovery
- Frontend: Next.js, TypeScript, Tailwind CSS
- AR: AR.js, Three.js
- Authentication: Farcaster AuthKit
- Maps: Mapbox GL
- Backend: Node.js, Express, PostgreSQL + PostGIS
- Rewards: Bitrefill API integration
- Node.js 18+ and npm
- PostgreSQL with PostGIS extension
- Farcaster Developer Account
- Bitrefill API credentials
- Mapbox API key
-
Clone the repository:
git clone https://github.com/yourusername/bitquest.git cd bitquest -
Install dependencies:
npm install
-
Create a
.env.localfile:NEXT_PUBLIC_MAPBOX_TOKEN=your_mapbox_token NEXT_PUBLIC_FARCASTER_APP_ID=your_farcaster_app_id BITREFILL_CLIENT_ID=your_bitrefill_client_id BITREFILL_CLIENT_SECRET=your_bitrefill_client_secret -
Start the development server:
npm run dev
-
Open http://localhost:3000 in your browser.
The app is built as a Farcaster Mini App with:
fc:miniappmeta tag for app discovery/.well-known/farcaster.jsonmanifest- Farcaster AuthKit for authentication
- SDK context for user data and client metadata
Uses AR.js for location-based AR features:
- Marker-less AR using device GPS
- 3D chest models rendered with Three.js
- Touch interaction for chest collection
Node.js/Express backend with:
- PostgreSQL + PostGIS for geospatial queries
- RESTful API endpoints
- Secure reward redemption flow
- Bitrefill API integration
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.