Skip to content

Latest commit

 

History

History
131 lines (97 loc) · 5.02 KB

README.md

File metadata and controls

131 lines (97 loc) · 5.02 KB

GutterMade

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


Introduction

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.

Features

  • 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.

Development

Run locally

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

Run on Vercel

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

Deploy to Vercel

Built on open source

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

Contributing

Open an issue if you believe you've encountered a bug with the starter kit.

Community

Join the discord to get help, ask questions, and discuss features.