One Next.js app that you can read and change

Litestore is one Next.js app on Postgres and Prisma, and you change it by editing your own copy.

Your server
One Next.js app
Storefront
Admin
Marketing
PostgresOne database
Events

React to anything that happens in the store

Litestore publishes 56 typed events through Inngest. You can add your own reaction in code or let an outside system subscribe through a signed webhook.

  • You can run work on a schedule or after a delay that survives a deploy.
  • You issue scoped API keys for the systems that call your store.
  • A deactivated key fails on its very next request.

Your app

Postgres 15+Your data
RedisCache and rate limits
S3 storageImages
LitestoreOne Next.js app
StorefrontAdmin
ResendEmail and sign-in links
InngestBackground jobs
StripeOptional
Guarantees

Postgres enforces the rules for money and stock

Postgres rejects writes that would leave payments or stock in an inconsistent state. For example, a bug in your fork can't refund more than the customer paid for an order.

Order #1042Paid $120.00
Refunded $80.00Requested $60.00
Write rejectedTotal refunded can't exceed the order total. Nothing was saved.
Money and refunds

Postgres stops refunds and ledger rows from going above what an order was paid.

Stock

Postgres rejects a stock movement that doesn't add up.

Unique records

Indexes keep emails, SKUs and slugs unique.

Checks

Two scripts verify the migration SQL and the live database.

Not yet

What Litestore doesn't do yet

You extend Litestore by changing your own copy of the code. That works well for a team that reads code, but some common platform features aren't there.

  • Litestore has no stable plugin API and no plugin sandbox.
  • Litestore has no GraphQL layer because the server shapes the data for each page.
  • We don't publish tagged releases yet.

What ships today

REST and oRPC
MCP server
Typed events
Outbound webhooks
Scoped API keys
Prisma schema
Plugin API
GraphQL API
Tagged releases
Ships today Not yet

Clone it and look around

Our guide takes you from a fresh clone to a running store with sample data.