Skip to content

HeimLabs/coinbase-superpay

Repository files navigation

SuperPay Logo


Next.js TypeScript SCSS Coinbase MongoDB AWS

A full-stack Next.js application for managing crypto payments and invoices using Coinbase's infrastructure.

Prerequisites

  • Git
  • Node.js (v18 or higher)
  • MongoDB
  • AWS Account (for SES)
  • Coinbase Developer Platform (CDP) Account
  • Clerk Account

Environment Variables

Create a .env file in the root directory with the following variables:

# Clerk Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
CLERK_SECRET_KEY=your_clerk_secret_key

# MongoDB
MONGODB_URI=your_mongodb_uri

# Coinbase
CDP_API_KEY_NAME=your_coinbase_api_key_name
CDP_API_PRIVATE_KEY=your_coinbase_private_key
NEXT_PUBLIC_APP_ENV=development # or production

# AWS
AWS_ACCESS_KEY_ID=your_aws_access_key
AWS_SECRET_ACCESS_KEY=your_aws_secret_key
AWS_REGION=your_aws_region

# Webhook
NEXT_PUBLIC_WEBHOOK_URL=your_webhook_url

Getting Started

  1. Clone the repository:
git clone https://github.com/heimlabs/coinbase-superpay.git
cd coinbase-superpay
  1. Install dependencies:
pnpm install
  1. Set up your environment variables as described above.

  2. Start the development server:

pnpm dev

The application will be available at http://localhost:3000.

Building for Production

pnpm build

To start the production server:

pnpm start

Project Structure

  • /app - Next.js app router pages and API routes
  • /models - MongoDB models
  • /lib - Utility functions and service integrations
  • /public - Static assets
  • /src/assets - SVG icons and other assets

System Architecture

For detailed information about the system architecture and user flows, please refer to our DIAGRAMS.md file.

Features

  • 🔐 Secure authentication with Clerk
  • 💰 Crypto wallet management
  • 💸 Asset transfers and trading
  • 📄 Invoice creation and management
  • 📧 Email notifications via AWS SES
  • 🔄 Webhook handling for payment events
  • 📱 Responsive design

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

About

NextJs Project for SuperPay powered by Coinbase Developer Platform (CDP)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published