Welcome to the world's first fully user owned De-Commerce platform, supported by sales from the world's first fully open source yet trademarked brand.
Introduction · Development · Demo · Contributing . Community
GutterMade is the world's first open source, trademarked, brand that wants to be fully owned by you. The user. When you connect with us you connect with a worldwide network of quality curated manufacturers and distributors of quality products. Every item is made upon order, so every piece is custom made for your customer.
Multi-tenant applications serve multiple customers across different subdomains/custom domains with a single unified codebase.
- Custom domains: Subdomain and custom domains support with Edge Functions and the Vercel Domains API.
- IPFS: Use IPFS to store your content and images.
- Sign-In with Ethereum: Sign-In with Ethereum is a new form of authentication that enables users to control their digital identity with their Ethereum account and ENS profile instead of relying on a traditional intermediary.
- Lens Social Graph: Use Lens Protocol to create a new decentralized social graph.
Install dependencies
yarn --ignore-engines
Config environment variables
# Must set valid values for
# - DATABASE_URL
# - SECRET
# - NEXT_PUBLIC_INFURA_PROJECT_ID
# - NEXT_PUBLIC_INFURA_SECRET
# - POLYGON_RPC
# - PRIVATE_KEY
mv .env.example .env
Init database
npx prisma db push
Run in development mode
yarn dev
Install dependencies
yarn --ignore-engines
Set up your MySQL database(ex: PlanetScale)
# Prerequisite: You need to have the PlanetScale CLI installed. https://docs.planetscale.com/concepts/planetscale-environment-setup
# Create a new account with PlanetScale.
# Using the PlanetScale CLI, create a new database called guttermade.
pscale db create guttermade
# Next, connect to the database branch:
pscale connect guttermade main
# In a different terminal window, use the db push command to push the schema defined in prisma/schema.prisma:
npx prisma db push
## Now that the initial schema has been added, promote your main branch to production:
pscale branch promote guttermade main
Get PlanetScale connection
guttermade is built on following awesome open source projects:
- Next.js as the React framework
- Tailwind for CSS styling
- Prisma as the ORM for database access
- PlanetScale as the database (MySQL)
- NextAuth.js for authentication
- Vercel for deployment
- Ethers for Ethereum interaction
- Wagmi as React Hooks library for Ethereum
- IPFS for storing images and content
- Lens as the decentralized social graph
- Apollo for GraphQL
- SWR for data fetching
- Stripe for fiat payment processing and card issuing
- SnipCart for automatic cart management
- Balancer for DAO liquidty management with AAVE boosted automated index funds with Circuit Breakers to protect from malicious/compromised tokens
- AAVE for lending and borrowing
- Polygon for blockchain speed, performance, and privacy
- Chainlink for randomness, oracles, and off chain data in order to automate transactions and facilitate buyers/sellers lotteries
- Headlessdropshipping for the store stack
Open an issue if you believe you've encountered a bug with the starter kit.
Join the discord to get help, ask questions, and discuss features.