
This comprehensive tutorial will walk you through building an eBay-style marketplace using Adalo's no-code platform. While some advanced features like real-time bidding require workarounds, you'll create a functional auction and buy-it-now marketplace with user authentication, payment processing, and seller management.
Prerequisites and Initial Setup
Step 1: Create Your Adalo Account
- Go to Adalo.com and sign up
- Click "Create New App"
- Choose "Mobile App" for full functionality
- Name your app (e.g., "AuctionHub")
- Select "Start from Scratch"
Step 2: Configure App Settings
- Choose primary color (blue for trust)
- Select professional font family
- Set up navigation structure
- Click "Continue" to enter editor
Step 3: Install Required Components
- Visit Adalo Marketplace
- Install these components:
- Star Rating (for seller reviews)
- Progress Bar (for auction timers)
- Calendar (for auction scheduling)
- Maps (for location features)
Setting Up the Database
Step 4: Configure the Users Collection
- Click Database in left sidebar
- Select default "Users" collection
- Add these properties:
- Profile Picture (Image)
- Display Name (Text)
- Phone Number (Text)
- Is Seller (True/False - default: false)
- Is Buyer (True/False - default: true)
- Average Rating (Number - default: 0)
- Total Sales (Number - default: 0)
- Stripe Account ID (Text)
- Address (Text)
- City (Text)
- State (Text)
- Zip Code (Text)
Step 5: Create Categories Collection
- Click "+ Add Collection"
- Name it "Categories"
- Add properties:
- Name (Text)
- Description (Text)
- Image (Image)
- Is Active (True/False - default: true)
- Sort Order (Number)
Step 6: Create Listings Collection
- Click "+ Add Collection"
- Name it "Listings"
- Add properties:
- Title (Text)
- Description (Text - Multiline)
- Starting Price (Number)
- Current Bid (Number)
- Reserve Price (Number)
- Buy Now Price (Number)
- Primary Image (Image)
- Image 2 (Image)
- Image 3 (Image)
- Condition (Text) - Values: "New", "Used", "Refurbished"
- Auction End Date (Date & Time)
- Is Active (True/False - default: true)
- Is Auction (True/False - default: true)
- Has Reserve (True/False - default: false)
- Listing Type (Text) - Values: "auction", "buy_now", "both"
- Created Date (Date & Time - Automatic)
- Views Count (Number - default: 0)
Step 7: Create Bids Collection
- Click "+ Add Collection"
- Name it "Bids"
- Add properties:
- Bid Amount (Number)
- Bid Date (Date & Time - Automatic)
- Is Winning Bid (True/False - default: false)
- Is Auto Bid (True/False - default: false)
Step 8: Create Transactions Collection
- Click "+ Add Collection"
- Name it "Transactions"
- Add properties:
- Final Price (Number)
- Transaction Date (Date & Time - Automatic)
- Payment Status (Text) - Values: "pending", "completed", "failed"
- Shipping Status (Text) - Values: "not_shipped", "shipped", "delivered"
- Stripe Payment ID (Text)
Step 9: Create Reviews Collection
- Click "+ Add Collection"
- Name it "Reviews"
- Add properties:
- Rating (Number)
- Comment (Text - Multiline)
- Review Date (Date & Time - Automatic)
- Review Type (Text) - Values: "buyer", "seller"
Step 10: Set Up Database Relationships
- In Listings:
- Add "Seller" → Users (Many to One)
- Add "Category" → Categories (Many to One)
- In Bids:
- Add "Bidder" → Users (Many to One)
- Add "Listing" → Listings (Many to One)
- In Transactions:
- Add "Buyer" → Users (Many to One)
- Add "Seller" → Users (Many to One)
- Add "Listing" → Listings (Many to One)
- In Reviews:
- Add "Reviewer" → Users (Many to One)
- Add "Reviewed User" → Users (Many to One)
- Add "Transaction" → Transactions (Many to One)
Building Core Marketplace Screens
Step 11: Create Home Screen
- Add new screen "Home"
- Make it the home screen
- Add Text component for app title
- Add Search Bar component
- Add Custom List for featured categories:
- Data: Categories
- Filter: Is Active = true
- Show: Name, Image
- Click action → "Category Listings" screen
Step 12: Build Browse Categories Screen
- Add new screen "Category Listings"
- Add Custom List for listings:
- Data: Listings
- Filter: Category = Selected Category AND Is Active = true
- Show: Title, Primary Image, Current Bid, Time Remaining
- Add Sort/Filter buttons
- Click action → "Listing Detail" screen
Step 13: Create Listing Detail Screen
- Add new screen "Listing Detail"
- Add Image component for primary image
- Add image gallery with swipe functionality
- Display listing information:
- Title and description
- Current bid/Buy Now price
- Time remaining (using Text component)
- Seller information and rating
- Add conditional buttons:
- "Place Bid" (if auction)
- "Buy It Now" (if available)
- "Watch Item" toggle
Note: To track listing views accurately, increment the `Views Count` property when a user opens the Listing Detail screen. For more advanced analytics, use a custom backend or analytics service.
Step 14: Implement Bidding Interface
- Add new screen "Place Bid"
- Add Number Input for bid amount
- Add validation text:
- "Minimum bid: $X.XX"
- "Your maximum bid: $X.XX"
- Add bid history Custom List:
- Data: Bids
- Filter: Listing = Current Listing
- Sort: Bid Date (Descending)
- Show: Bid Amount, Bidder (anonymous), Time
Step 15: Create Seller Dashboard
- Add new screen "Seller Dashboard"
- Add tabs for different sections:
- Active Listings tab
- Sold Items tab
- Draft Listings tab
- Add Custom Lists for each tab
- Add "Create Listing" button → "Create Listing" screen
Implementing Payment Integration
Step 16: Set Up Stripe Connect
- In the editor, open the Marketplace
- Add the Marketplace Payments component to your Checkout screen
- Configure Stripe Connect settings:
- Test/Live mode toggle
- Platform fee percentage
- Currency settings
- Add seller onboarding flow
Step 17: Create Seller Onboarding
- Add new screen "Become Seller"
- Add form fields:
- Business information
- Bank account details
- Tax information
- Connect to Stripe Express accounts
- Update Users → Is Seller = true
Step 18: Build Checkout Process
- Add new screen "Checkout"
- Display order summary
- Add shipping information form
- Add Marketplace Payments component:
- Connect to current listing
- Set platform fee
- Configure success/failure actions
Building Auction Timer System
Step 19: Create Timer Logic
- Add Text component for countdown display
- Use conditional logic:
- If Current Time < Auction End Date → Show remaining time
- If Current Time ≥ Auction End Date → Show "Auction Ended"
- Add Progress Bar showing time percentage remaining
Note: Adalo cannot automatically refresh auction timers or bid updates. Users must manually refresh screens to see the latest bids. To improve the experience, use push notifications for bid updates or wire a custom backend for real-time-like behavior.
Step 20: Implement Bid Processing
- On "Place Bid" action:
- Validate bid amount > current bid
- Create new Bid record
- Update Listing → Current Bid
- Update all other bids → Is Winning Bid = false
- Set new bid → Is Winning Bid = true
- Send push notification to previous high bidder
Note: Real-time bid updates are not fully supported in Adalo. Users must refresh manually, or you can use a custom backend to simulate real-time bidding.
Step 21: Handle Auction Endings
- Create screen "Auction Results"
- Display winning bid information
- Show checkout option for winner
- Send notifications to winner and seller
- Update listing status to inactive
Adding User Features
Step 22: Build User Profiles
- Add new screen "User Profile"
- Display user information:
- Profile picture and name
- Average rating and total sales
- Recent feedback
- Add "View Items" button
- Show seller verification badges
Step 23: Create Review System
- Add new screen "Leave Review"
- Add Star Rating component
- Add Text Input for comments
- Link to completed transaction
- Update user's average rating automatically
Step 24: Implement Watchlist
- Create "Watchlist" collection with:
- User relationship
- Listing relationship
- Date Added
- Add "Watch" toggle on listing detail
- Create "My Watchlist" screen
- Send notifications for watched item updates
Working with Platform Limitations
Step 25: Handle Real-Time Updates
Limitations:
- No automatic screen refresh for timers or bid updates
- Countdown displays are static (no live timer)
- Search supports basic text matching only
- Background tasks (scheduled/cron) are not available
See Step 19 for refresh/bid update workarounds.
Step 26: Optimize Performance
- Limit list items to 20-30 per screen
- Use pagination for long lists
- Compress images before upload (50MB limit)
- Add loading states and progress indicators
- Use conditional visibility strategically
Step 27: Implement Search Functionality
- Add Search Bar to main screens
- Use "contains" filter for text search
- Add category and price filters
- Create advanced search screen with multiple criteria
Note: Adalo's search is limited to basic text matching. Consider external search services for advanced features.
Testing and Launch Preparation
Step 28: Test Core Workflows
- Create test seller and buyer accounts
- Test complete listing creation process
- Verify bidding and buy-now functionality
- Test payment processing (use Stripe test mode)
- Confirm notification delivery
- Test on multiple devices and platforms
Step 29: Set Up Analytics
- Enable Adalo analytics in settings
- Add custom tracking for key events:
- Listing views
- Bid placements
- Completed transactions
- Set up conversion funnels
Step 30: Prepare for Publishing
- Upgrade to a paid plan
- Configure app store settings
- Create privacy policy and terms of service
- Set up customer support system
- Prepare marketing materials
Advanced Features and Enhancements
Step 31: Add Location Features
- Install Maps component from marketplace
- Add location field to listings
- Create "Local Items" filter
- Implement pickup options for transactions
Note: Adalo’s Maps component supports displaying locations; real-time geolocation features may require an external backend.
Step 32: Create Admin Panel
- Add admin role to Users collection
- Create admin-only screens for:
- User management
- Listing moderation
- Transaction monitoring
- Dispute resolution
- Add reporting and analytics views
Step 33: Implement Messaging System
- Add Chat component for buyer-seller communication
- Link conversations to specific listings
- Add message notifications
- Create conversation history screens
External Service Integrations
Step 34: Set Up Zapier Automation
- Create Zapier account
- Connect Adalo triggers:
- New listing created
- Auction ended
- Payment completed
- Automate email notifications and data sync
Step 35: Add Advanced Backend
For complex logic beyond Adalo's capabilities:
- Consider Xano integration for:
- Complex calculations
- Advanced search
- Real-time features
- Unlimited data storage
Important Considerations
Cost Breakdown:
- Plans & limits: see Pricing
- Stripe fees: see Stripe pricing
- Platform fees: Set your own percentage
- Components: see Marketplace
Platform Limitations:
- No real-time bidding updates
- Usage is plan-dependent (see Cost Breakdown)
- Performance: follow Optimize performance
- Limited calculation capabilities
- Search supports basic text matching
Recommended Architecture:
- Separate buyer and seller apps for better performance
- Use external services for complex features
- Design for manual refresh requirements
- Plan for platform limitations from start
Additional Resources
- Adalo App Academy - Comprehensive training
- Component Documentation - Technical guides
- Marketplace Templates - Starting templates
- YouTube Tutorials - Video walkthroughs
Note: This eBay clone provides core marketplace functionality within Adalo's constraints. While it won't match eBay's real-time capabilities, it creates a solid foundation for auction and buy-it-now marketplaces with proper user expectations and creative workarounds for platform limitations.










