https://github.com/0xintuition/market-template
A template project which can be easily forked and deployed to create a custom market on Intuition
https://github.com/0xintuition/market-template
Last synced: 11 months ago
JSON representation
A template project which can be easily forked and deployed to create a custom market on Intuition
- Host: GitHub
- URL: https://github.com/0xintuition/market-template
- Owner: 0xIntuition
- Created: 2025-02-24T21:14:44.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-09T02:21:29.000Z (about 1 year ago)
- Last Synced: 2025-04-09T03:23:43.661Z (about 1 year ago)
- Language: TypeScript
- Homepage: https://market-template-six.vercel.app
- Size: 422 KB
- Stars: 0
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Intuition Market Template
A Next.js 15 template for building Ethereum-based market platforms with tradable entries and ERC20-like vault shares.
## 🚀 Features
- **Entry Management**: Create and maintain tradable entries with IPFS metadata storage
- **Vault Economics**: Deposit and redeem functionality with ERC20-like vault shares
- **Sub-entry Hierarchy**: Organize content with parent-child relationships
- **Smart Contract Integration**: MultiVault contract for asset management
- **Wallet Authentication**: Secure user authentication via Dynamic Labs SDK
- **Data Visualization**: Ownership pie charts and real-time vault statistics
- **GraphQL Backend**: Robust API for entry management
- **IPFS Integration**: Decentralized metadata storage
- **Responsive Design**: Built with Tailwind CSS and container queries
## 🛠️ Tech Stack
- **Frontend**: Next.js 15, React 18, Intuition's 1UI component library
- **Styling**: Tailwind CSS, 1UI theming
- **Blockchain**: Ethereum, Viem
- **Authentication**: Dynamic Labs SDK
- **Data Storage**: IPFS
- **API**: GraphQL
- **Build Tools**: Turbopack
## 🏁 Getting Started
### Prerequisites
- Node.js (LTS version recommended)
- pnpm 9.x
### Installation
1. Clone the repository
2. Install dependencies:
```bash
pnpm install
```
3. Copy the environment variables:
```bash
cp .env.example .env
```
4. Fill out the environment variables in the `.env` file
5. Run `pnpm new-wallet` to generate a new wallet to power your back-end. It will need to be funded in order to tag atoms that were created via your app.
6. Start the development server:
```bash
pnpm dev
```
## 🚀 Deployment
Want to deploy this app quickly? Use the button below to deploy to Render:
[](https://render.com/deploy?repo=https://github.com/0xIntuition/market-template)
> Note: You'll need to configure environment variables in the Render dashboard after deployment.
- The Intuition MultiVault address is `0x1A6950807E33d5bC9975067e6D6b5Ea4cD661665`
- You will need an API Key, Environment ID, and Public Key for Dynamic.XYZ
- You will need to generate a wallet and provide the private and public keys to the ENV
- You will need an App Name and App Description for both the server and the client
- The client uses this visually, whereas the server uses this to create a special atom for your app.
- Hop into our discord if you have any questions!
The project includes a `render.yaml` file that configures the deployment settings for Render. This file:
- Sets up a web service with the appropriate build and start commands
- Pre-configures some environment variables
- Includes a health check endpoint
- Marks sensitive environment variables that you'll need to set manually
## 🧩 Project Structure
- `src/app`: Next.js app router pages and API routes
- `src/components`: Reusable UI components
- `src/lib`: Utility functions and contract integrations
- `src/server`: Server-side logic and API handlers
- `src/types`: TypeScript type definitions
- `src/styles`: Global styles and theme configuration
## 💻 Development
- Add additional providers to `providers.tsx` (already wrapping `layout.tsx`)
- Add pages directly to the `app` directory following Next's app router conventions
- Theming is set up and pulls from `1ui` - any Shad components or Tailwind you write will respect this theme
- Recommended to add Shad components via the CLI, run in the root of this directory
## 📝 Scripts
- `pnpm dev`: Start development server with Turbopack
- `pnpm build`: Build the application for production
- `pnpm start`: Start the production server
- `pnpm lint`: Run ESLint
- `pnpm typecheck`: Run TypeScript type checking
- `pnpm new-wallet`: Generate a new wallet to power your back-end