A beautiful Farcaster Mini App built with React, TypeScript, and Vite. Features Neynar integration and a stunning purple gradient theme!
- React + TypeScript + Vite - Modern development stack
- Farcaster SDK Integration - Full Mini App capabilities
- Neynar API - Enhanced Farcaster functionality
- Beautiful UI - Purple gradient theme with smooth animations
- Dynamic Embeds - Shareable content with different states
- Responsive Design - Works on all devices
- Dark Mode Support - Automatic theme switching
This Mini App includes a comprehensive embed system that allows users to share different states of the app:
- Default (
/
) - Main app introduction - Success (
/?state=success
) - Success state with feature highlights - Features (
/?state=features
) - Feature showcase - Neynar (
/?state=neynar
) - Neynar integration details
Users can share the app using the built-in share buttons that:
- Create casts with app embeds
- Copy shareable links
- Support different embed configurations
- Main App:
https://fcmapp.netlify.app
- Success State:
https://fcmapp.netlify.app?state=success
- Features:
https://fcmapp.netlify.app?state=features
- Neynar:
https://fcmapp.netlify.app?state=neynar
- Node.js 18+
- npm, yarn, or pnpm
- Clone the repository:
git clone <your-repo-url>
cd mapp
- Install dependencies:
npm install
- Set up environment variables:
cp .env.example .env
Edit .env
and add your Neynar API credentials:
VITE_NEYNAR_API_KEY=your_api_key_here
VITE_NEYNAR_CLIENT_ID=your_client_id_here
- Start the development server:
npm run dev
- Open your browser and navigate to
http://localhost:5173
src/
├── components/
│ ├── ShareButton.tsx # Share functionality
│ └── ShareButton.css # Share button styles
├── lib/
│ ├── embeds.ts # Embed configuration system
│ └── neynar.ts # Neynar API integration
├── App.tsx # Main app component
├── App.css # App styles
└── main.tsx # App entry point
- Manages different embed configurations
- Handles dynamic embed updates
- Creates shareable URLs
- Allows users to share the app
- Supports multiple embed variants
- Integrates with Farcaster casting
- Add a new configuration to
EMBED_CONFIGS
insrc/lib/embeds.ts
- Add the corresponding state handling in
src/App.tsx
- Update the UI to support the new state
- Push your code to GitHub
- Connect your repository to Netlify
- Set environment variables in Netlify dashboard
- Deploy!
Make sure to set these in your deployment platform:
VITE_NEYNAR_API_KEY
- Your Neynar API keyVITE_NEYNAR_CLIENT_ID
- Your Neynar client ID
- Live App: https://fcmapp.netlify.app
- Farcaster Mini Apps Docs: https://docs.farcaster.xyz/mini-apps
- Neynar Documentation: https://docs.neynar.com
MIT License - feel free to use this project as a starting point for your own Farcaster Mini App!
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
Built with ❤️ for the Farcaster community!