A Full-Stack Indie-Based Game Marketplace with Tipping, Mystery Rewards, Role-Based Access, and Admin Approval Workflow. (Early version)
- ๐ Introduction
- ๐ฏ Project Overview
- ๐งฉ Major Features
- ๐ System Architecture
- ๐ ERD & Schema Design
- ๐ Final Relational Schema
- ๐ Core User Workflows
- ๐ฅ System Interface
- ๐งช Test Accounts
- ๐ How to Run Locally
- ๐ Future Enhancements
- ๐ License
Indie Bunny Marketplace is a modern full-stack platform designed to support independent game developers through a hybrid marketplace + tipping reward model. Players may purchase games directly or tip developers to access a mystery pool of developer-submitted games.
The system was built using: - React (Vercel) for the frontend\
- Django REST (Render) for the backend\
- Supabase PostgreSQL for the database\
- Firebase Authentication for secure identity\
- Modern relational schema (3NF) with specialization, weak entities, and transaction modeling
This README provides a long-form, GitHub-friendly overview based on the complete PDF report.
Indie developers struggle with: - Platform saturation\
- Limited visibility\
- Poor monetization options
Indie Bunny Marketplace offers: - A curated indie game storefront\
- Developer tipping with rewards\
- Region-based pricing\
- Role-based UI for players, developers, and admins\
- Approval workflow to maintain platform quality
- Browse game listings
- Purchase games
- Add items to wishlist
- Tip developers
- Earn mystery rewards
- Receive actionable notifications
- View purchase history
- Upload games for admin approval
- Create regular or temporary listings
- Set prices & tipping thresholds
- Manage their uploaded games
- Track listing visibility and approval status
- Approve or reject pending games
- Delete inappropriate or outdated listings
- Manage assigned users
- Moderate platform content
Frontend (React, Vercel)
โ
โผ
Backend API (Django REST on Render)
โ
โผ
PostgreSQL (Supabase)
โ
โโโ Authentication via Firebase
โโโ Storage for images / metadata
Design goals: - High modularity
- Scalable DB design
- Cloud-based CI/CD
- Secure authentication & authorization
- User as the core entity
- Player, Developer, Admin as specialized roles
- PendingGame as a weak entity waiting for approval
- GameListing โ RegularListing & TemporaryListing subclasses
- Wishlist & WishlistEntries (weak entity)
- MysteryPool & RECEIVES relationship
- CountryPricing for region-based price modifiers
User(UserID, Name, Email, Password, Role, WalletBalance, Country, IsActive)Player(UserID, PlayHistory)Developer(UserID, PortfolioLink)Admin(UserID, AccessLevel)
PendingGame(...)Game(...)GameListing(...)RegularListing(ListingID)TemporaryListing(ListingID, DiscountPercent, StartTime, EndTime)
Purchase,BUYSTipMysteryPool,RECEIVES
Wishlist,WishlistEntriesNotificationCountryPricing
The schema satisfies: - 1NF: Atomic fields\
- 2NF: No partial dependencies\
- 3NF: No transitive dependencies
- Insert into
Purchase - Insert into
BUYS - Deduct from wallet
- Send notification
- Tip is logged
- Tip may qualify for mystery reward
- Game added via
RECEIVES
- Developer uploads โ
PendingGame - Admin approves:
- Insert into
Game - Insert into
GameListing - Insert into
RegularListingorTemporaryListing
- Insert into
- Delete from
PendingGame
- Mascot-driven branding
- Featured games
- Quick navigation
- Sorting, filtering, tagging
- Regular vs temporary listings
- Price adjustments shown dynamically
- Read/unread states
- Actionable with deep links
- Add/remove items
- Quick jump to listings
- Upload new games
- Track approval progress
- Manage existing listings
- View all pending uploads
- Approve / reject instantly
- Manage assigned users
Player
Email: player@example.com
Password: pass123
Developer
Email: dev@example.com
Password: pass123
Admin
Email: admin@example.com
Password: pass123
Frontend:
https://indie-bunny-marketplace.vercel.app/
Backend and database are fully connected.
git clone https://github.com/your-repo.gitcd frontend
npm install
npm run devcd backend
pip install -r requirements.txt
python manage.py migrate
python manage.py runserver- Firebase credentials
- Supabase URL & key
- Django secret key
- Developer analytics dashboard
- Stripe/PayPal payment integrations
- Game reviews & ratings
- Rich notification filters
- Automated schema migrations
- Admin audit logs
- A cleaner and more asthetically pleasing UI
MIT License. See LICENSE for details.