A peer-to-peer currency exchange Mini App built with MiniKit and World ID integration.
Nomadia is a decentralized platform that enables users to exchange currency with others in their vicinity. The application facilitates secure peer-to-peer transactions through World ID verification and features an intuitive interface for managing listings and communications.
- ๐ MiniKit (Mini App Development Kit)
- ๐ World SDK (World App Integration)
- ๐น Next.js โก (Frontend framework)
- ๐น PostgreSQL ๐๏ธ (Database)
- ๐น Drizzle ORM ๐ฏ (TypeScript ORM)
- ๐น Cloudinary โ๏ธ (Image storage)
- ๐น TailwindCSS ๐จ (Styling)
- ๐น Shadcn/UI ๐ฏ (UI Components)
- ๐น tRPC ๐ฏ (API layer)
# Copy .env.example to .env and set the environment variables
cp .env.example .env
# Database setup
docker compose up -d
# Install dependencies
pnpm install
# Migrate database
pnpm db:push
# Start the development server
pnpm dev
To run as a mini app:
- Choose a production app in the dev portal
- Use NGROK to tunnel
- Set the
NEXTAUTH_URL
and the redirect URL for World ID sign-in to your ngrok URL
View docs: Docs
-
P2P Exchange
- Browse active currency exchange listings
- Interactive map view for local transactions
- Slider navigation for easy browsing
- QR code functionality for transactions
-
My Listings
- Manage your personal exchange listings
- Track active and completed transactions
-
Create Listing
- Post new currency exchange offers
- Set exchange rates and preferences
-
Chat System
- Direct messaging with potential exchange partners
- Conversation history tracking
- Real-time communication
-
Profile Management
- Customize user profile
- Update avatar and personal information
- Manage account settings