Skip to content
This repository was archived by the owner on Oct 4, 2026. It is now read-only.
MrF1owPublic archive

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

287 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SimplySigned

This project is under active development and is NOT production-ready. Signatures collected through this platform are not legally binding. Do not use this software for real contracts, legal agreements, or any scenario requiring enforceable electronic signatures.

An e-signature SaaS platform built with Next.js, Supabase, and Stripe. Upload PDFs, send signing links, and collect electronic signatures with audit trails.


Getting Started

Prerequisites

Quick Setup

# Clone and run the setup script
./setup.sh

The setup script will:

  1. Install dependencies
  2. Create your .env.local from the template
  3. Prompt you to fill in required values
  4. Start the dev server

Manual Setup

# Install dependencies
npm install

# Copy env template
cp env.template apps/web/.env.local

# Fill in your keys (Supabase, Stripe, Upstash)

# Start local Supabase (requires Docker)
npx supabase start

# Start dev server
npm run dev

Docker

cp env.template .env
# Fill in values in .env
docker compose up --build

Open http://localhost:3000.


Commands

Command Description
npm run dev Start dev server (all workspaces)
npm run build Production build
npm run lint ESLint
npm run typecheck TypeScript check
npm run test Jest tests
npm run format Prettier format
npm run local:stripe Forward Stripe webhooks locally

Project Structure

SimplySigned/
├── apps/web/              # Next.js app
├── packages/
│   ├── shared/            # Shared types (@ssigned/shared)
│   └── ssigned/           # SDK component (not published)
├── supabase/              # Migrations, edge functions
├── docs/                  # Design docs
└── turbo.json             # Turborepo config

Tech Stack

  • Next.js 16 with App Router and React 19
  • Supabase for auth, database, storage, and realtime
  • Stripe for billing and checkout
  • Turborepo monorepo with npm workspaces
  • shadcn/ui + Tailwind CSS 4
  • Zustand for client state
  • Jest + Playwright for testing

Environment Variables

Copy env.template to get started. Required services:

Variable Service Purpose
NEXT_PUBLIC_SUPABASE_URL Supabase API endpoint
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY Supabase Client-side auth
SUPABASE_SERVICE_ROLE_KEY Supabase Server-side operations
STRIPE_SECRET_KEY Stripe Payment processing
STRIPE_WEBHOOK_SECRET Stripe Webhook verification
STRIPE_PRICE_API_USAGE Stripe Metered billing price ID
STRIPE_METER_EVENT_NAME Stripe Metered billing event name
UPSTASH_REDIS_REST_URL Upstash Rate limiting
UPSTASH_REDIS_REST_TOKEN Upstash Rate limiting
WEBHOOK_ENCRYPTION_KEY Local Webhook secret encryption

Generate the encryption key:

openssl rand -base64 32

Status

Development only. Not production-ready. Not legally binding.

Core features implemented:

  • Document upload, send, and signing flow
  • Multi-signer support with per-signer tracking
  • Stripe billing (free/starter/pro plans)
  • Developer API with bearer token auth
  • Webhook delivery with HMAC-SHA256 signing
  • Realtime dashboard updates

See CLAUDE.md for detailed architecture and route documentation.


License

Private. All rights reserved.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages