Skip to content

TanmayArchives/ppl.fun

Repository files navigation

Features

  • 👤 Login/signup with embedded wallet
  • 💱 Trading tokens on aggregated DEX
  • 👥 Profile/follow/following system
  • 📈 Global trending lists
  • 🔄 Token launch with bonding curve functionality
  • 💧 Presale and liquidity migration

Core Components

Authentication

  • Embedded wallet integration
  • Social login options
  • Wallet connection management

Trading Interface

  • DEX aggregation
  • Token swapping
  • Price charts
  • Order history

Social Features

  • User profiles
  • Follow system
  • Activity feed
  • Trending lists

Token Launch

  • Bonding curve creation
  • Presale configuration
  • Liquidity pool setup
  • Token minting

Project Structure

Environment Setup

This project uses Doppler for environment variable management. Follow these steps to set up your development environment:

  1. Install the Doppler CLI:
# macOS
brew install dopplerhq/cli/doppler

# Windows (using scoop)
scoop install doppler

# Linux/WSL
curl -Ls --tlsv1.2 --proto "=https" --retry 3 https://cli.doppler.com/install.sh | sh
  1. Authenticate with Doppler:
doppler login
  1. Set up the project:
doppler setup --project ideas --config dev

Development

# Start development server with Doppler env vars
pnpm dev

# Build for different environments
pnpm build:dev    # Development build
pnpm build:prod   # Production build

# Start server for different environments
pnpm start:dev    # Development
pnpm start:prod   # Production

Environment Variables

The following environment variables are required:

# App
NEXT_PUBLIC_APP_URL - Application URL

# Auth
NEXT_PUBLIC_PRIVY_APP_ID - Privy authentication app ID

# Solana
NEXT_PUBLIC_SOLANA_RPC_URL - Solana RPC endpoint

# Analytics
NEXT_PUBLIC_GA_TRACKING_ID - Google Analytics tracking ID (optional)

# Feature Flags
NEXT_PUBLIC_ENABLE_ANALYTICS - Enable/disable analytics
NEXT_PUBLIC_ENABLE_TESTNETS - Enable/disable testnet features

Doppler Configuration

The project uses different Doppler configurations for each environment:

  • dev - Development environment
  • test - Testing environment
  • stg - Staging environment
  • prd - Production environment

To switch between configurations:

doppler setup --project ideas --config dev  # Development
doppler setup --project ideas --config prd  # Production

Features

  • Create and launch tokens
  • Modern, responsive UI
  • Wallet integration via Privy
  • Built with Next.js 13+ and TypeScript

Tech Stack

  • Framework: Next.js 13+ (App Router)
  • Auth: Privy
  • Blockchain: Solana Web3.js
  • Styling: Tailwind CSS, shadcn/ui
  • State Management: Zustand
  • Animation: Framer Motion

Development

Prerequisites

  • Node.js 18+
  • pnpm

Setup

  1. Clone the repository:
git clone https://github.com/yourusername/ideas.git
cd ideas
  1. Install dependencies:
pnpm install
  1. Copy the example environment file:
cp .env.example .env
  1. Update the environment variables in .env

  2. Start the development server:

pnpm dev

Scripts

  • pnpm dev - Start development server
  • pnpm build - Build for production
  • pnpm start - Start production server
  • pnpm lint - Run ESLint
  • pnpm format - Format code with Prettier
  • pnpm typecheck - Run TypeScript type checking
  • pnpm clean - Clean build artifacts and dependencies

Project Structure

src/
├── app/             # Next.js App Router pages
├── components/      # React components
├── config/         # App configuration
├── hooks/          # Custom React hooks
├── lib/            # Utility functions
├── services/       # API and service functions
├── store/          # Zustand store
├── styles/         # Global styles
└── types/          # TypeScript types

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License.

About

where people trade social tokens

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published