Convert Figma logo to code with AI

blefnk logorelivator-nextjs-template

🏬 relivator: next.js 15 react 19 ecommerce template ▲ better-auth polar shadcn/ui tailwind drizzle orm typescript ts radix, postgres neon, app router saas commerce ecommerce shop pricing payments dark mode full stack free ⭐ more stars 👉 more features

1,357
246
1,357
3

Top Related Projects

13,314

Next.js Commerce

19,007

An open source application built using the new router, server components and everything new in Next.js 13.

An opinionated collection of components, hooks, and utilities for your Next.js project.

🔋 Next.js + Tailwind CSS + TypeScript starter and boilerplate packed with useful development features

The best way to start a full-stack, typesafe Next.js app

Quick Overview

Relivator is a Next.js 13 template designed for building modern web applications. It combines the latest features of Next.js with a curated set of tools and best practices, aiming to provide a robust starting point for developers.

Pros

  • Comprehensive setup with latest Next.js 13 features
  • Integrated authentication and internationalization
  • Extensive UI components and styling options
  • Strong focus on performance and SEO optimization

Cons

  • Steep learning curve for beginners due to complex setup
  • Potentially overwhelming for simple projects
  • Frequent updates may require regular maintenance
  • Some features might be overkill for smaller applications

Code Examples

  1. API Route Example:
import { NextResponse } from 'next/server'

export async function GET() {
  return NextResponse.json({ message: 'Hello from Relivator API!' })
}

This code creates a simple API route using Next.js 13 app router.

  1. Server Component Example:
import { Suspense } from 'react'
import Loading from './loading'
import ProductList from './product-list'

export default function Page() {
  return (
    <Suspense fallback={<Loading />}>
      <ProductList />
    </Suspense>
  )
}

This example demonstrates the use of React Server Components with Suspense for improved loading states.

  1. Internationalization Example:
import { useTranslations } from 'next-intl'

export default function LocalizedComponent() {
  const t = useTranslations('Common')

  return <h1>{t('welcome')}</h1>
}

This code snippet shows how to use internationalization in components.

Getting Started

  1. Clone the repository:

    git clone https://github.com/blefnk/relivator-nextjs-template.git
    
  2. Install dependencies:

    cd relivator-nextjs-template
    npm install
    
  3. Set up environment variables:

    cp .env.example .env.local
    
  4. Run the development server:

    npm run dev
    
  5. Open http://localhost:3000 in your browser to see the application running.

Competitor Comparisons

13,314

Next.js Commerce

Pros of Commerce

  • More established project with a larger community and contributor base
  • Comprehensive e-commerce features out-of-the-box
  • Tighter integration with Vercel's ecosystem and optimizations

Cons of Commerce

  • Less flexible and customizable compared to Relivator
  • Steeper learning curve for developers new to e-commerce
  • More opinionated architecture that may not fit all use cases

Code Comparison

Commerce:

export const product = {
  id: string
  name: string
  description: string
  slug: string
  path: string
  images: ProductImage[]
}

Relivator:

export interface Product {
  id: string
  name: string
  description: string
  price: number
  image: string
  category: string
}

Key Differences

  • Commerce focuses on a complete e-commerce solution, while Relivator provides a more general-purpose Next.js template
  • Relivator offers more flexibility for customization and integration with various backends
  • Commerce has more advanced product management features, whereas Relivator keeps it simpler
  • Relivator includes additional features like authentication and internationalization out-of-the-box

Recommendation

Choose Commerce for a robust, ready-to-use e-commerce platform with Vercel integration. Opt for Relivator if you need a more flexible, customizable Next.js template with additional features beyond e-commerce.

19,007

An open source application built using the new router, server components and everything new in Next.js 13.

Pros of Taxonomy

  • More comprehensive UI component library with a wider range of pre-built components
  • Stronger focus on accessibility and keyboard navigation
  • Better documentation and examples for each component

Cons of Taxonomy

  • Less opinionated structure, requiring more setup for a full-fledged application
  • Fewer built-in features for e-commerce and user authentication
  • May require more customization for specific use cases

Code Comparison

Taxonomy component usage:

import { Button } from "@/components/ui/button"

export default function Home() {
  return <Button>Click me</Button>
}

Relivator component usage:

import { Button } from "@/components/ui/button"

export default function Home() {
  return <Button variant="default">Click me</Button>
}

Both repositories use similar component structures, but Relivator often includes more variants and customization options out of the box.

An opinionated collection of components, hooks, and utilities for your Next.js project.

Pros of Precedent

  • Simpler and more lightweight structure, making it easier for beginners to understand and customize
  • Includes built-in analytics with Vercel Analytics, providing out-of-the-box insights
  • Offers a clean, minimalistic design that can be quickly adapted for various projects

Cons of Precedent

  • Lacks some advanced features and integrations that Relivator offers, such as internationalization and e-commerce capabilities
  • Has fewer pre-built components and utilities, potentially requiring more custom development for complex projects
  • Does not include as comprehensive documentation or as many code examples as Relivator

Code Comparison

Precedent (pages structure):

pages/
  _app.tsx
  _document.tsx
  index.tsx

Relivator (app directory structure):

app/
  (auth)/
  (marketing)/
  (shop)/
  api/
  layout.tsx
  page.tsx

Relivator uses the newer Next.js 13+ app directory structure, offering more granular routing and layout control, while Precedent uses the traditional pages directory structure.

🔋 Next.js + Tailwind CSS + TypeScript starter and boilerplate packed with useful development features

Pros of ts-nextjs-tailwind-starter

  • Simpler and more lightweight structure, making it easier for beginners to understand and customize
  • Includes a comprehensive set of pre-configured ESLint and Prettier rules for consistent code style
  • Provides a clear and well-documented folder structure with explanations for each directory

Cons of ts-nextjs-tailwind-starter

  • Lacks advanced features like authentication, database integration, and internationalization that Relivator includes
  • Does not include pre-built components or layouts, requiring more initial setup for complex projects
  • Misses out on some modern Next.js 13+ features and optimizations present in Relivator

Code Comparison

ts-nextjs-tailwind-starter:

// pages/index.tsx
export default function HomePage() {
  return (
    <Layout>
      <Seo templateTitle='Home' />
      <main>
        <section className='bg-white'>
          <div className='layout flex min-h-screen flex-col items-center justify-center text-center'>
            <h1 className='mt-4'>Next.js + Tailwind CSS + TypeScript Starter</h1>
          </div>
        </section>
      </main>
    </Layout>
  );
}

Relivator:

// app/page.tsx
export default async function HomePage() {
  return (
    <>
      <Hero />
      <Features />
      <CTA />
      <Testimonials />
      <Pricing />
    </>
  );
}

The code comparison shows that Relivator uses a more modular approach with separate components for each section, while ts-nextjs-tailwind-starter provides a simpler, single-component structure.

The best way to start a full-stack, typesafe Next.js app

Pros of create-t3-app

  • Well-established project with a larger community and more extensive documentation
  • Focuses on a specific tech stack (T3 Stack), providing a more opinionated and streamlined setup
  • Offers a CLI for easy project initialization and customization

Cons of create-t3-app

  • Less flexibility in terms of pre-built features and UI components
  • May require more manual setup for additional functionalities not included in the base template
  • Limited styling options out of the box compared to Relivator's Tailwind CSS integration

Code Comparison

create-t3-app:

import { type NextPage } from "next";
import Head from "next/head";
import { trpc } from "../utils/trpc";

const Home: NextPage = () => {
  const hello = trpc.example.hello.useQuery({ text: "from tRPC" });

Relivator:

import { type NextPage } from "next";
import { useTranslations } from "next-intl";
import { Button } from "~/islands/primitives/button";

const Home: NextPage = () => {
  const t = useTranslations("Index");

The code snippets show that create-t3-app focuses on tRPC integration, while Relivator emphasizes internationalization and UI components. Both use TypeScript and Next.js, but their approach to structuring components and handling data fetching differs slightly.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

🏬 relivator • next.js ecommerce starter

demo — sponsor — discord — github — docs

relivator is a robust ecommerce template built with next.js and other modern technologies. it's designed for developers who want a fast, modern, and scalable foundation without reinventing the backend.

stack

  1. 🧱 core: nextjs 15.3 + react 19.1 + ts 5.8
  2. 🎨 ui: tailwind 4.1 + shadcn/ui
  3. 🔒 auth: better-auth
  4. 🎬 anims: animejs
  5. 📦 storage: uploadthing
  6. 📊 analytics: vercel
  7. 🧬 db: drizzle-orm (pg) + neon/(🤔🔜)supabase
  8. 🏗️ dx: eslint + biome + knip
  9. 📝 forms: react-form (🔜 w.i.p) + arktype
  10. 📅 tables: react-table
  11. 🌐 i18n: next-intl (🔜 w.i.p)
  12. 💌 email: resend (🔜 w.i.p)
  13. 💳 payments: polar
  14. 🔑 api: orpc (🔜 w.i.p)

these features define the main reliverse stack. for an alternative setup—featuring clerk, stripe, trpc, and more—check out versator.

quick start

  1. install git, node.js, bun.

  2. run:

    git clone https://github.com/blefnk/relivator.git
    cd relivator
    bun install
    copy .env.example .env
    
  3. fill in the required environment variables in the .env file.

  4. optionally, edit the src/app.ts file to make the app yours.

  5. run:

    bun db:push # populate db with schema
    bun dev # start development server
    bun run build # build production version
    
  6. edit something in the code manually or ask ai to help you.

  7. done. seriously. you're building now.

commands

commanddescription
bun devstart local development
bun buildcreate a production build
bun latestinstall latest deps
bun uiadd shadcn components
bun db:pushapply db schema changes
bun db:authupdate auth-related tables
bun db:studioopen visual db editor

polar integration

relivator now integrates with polar for payment processing and subscription management.

features

  • checkout flow for subscription purchases
  • customer portal for managing subscriptions
  • webhook handling for subscription events
  • automatic customer creation on signup
  • integration with better-auth for seamless authentication

setup instructions

  1. create an account on polar
  2. create an organization and get an organization access token
  3. configure your environment variables in .env:
    POLAR_ACCESS_TOKEN="your_access_token"
    POLAR_WEBHOOK_SECRET="your_webhook_secret"
    POLAR_ENVIRONMENT="production" # or "sandbox" for testing
    
  4. create products in the polar dashboard
  5. update the product IDs in src/lib/auth.ts to match your polar products:
    checkout: {
      enabled: true,
      products: [
        {
          productId: "your-product-id", // Replace with actual product ID from Polar Dashboard
          slug: "pro" // Custom slug for easy reference in Checkout URL
        }
      ]
    }
    
  6. run bun db:push to create the necessary database tables
  7. start the application with bun dev

verification

to verify that the integration is working:

  1. sign up for an account
  2. navigate to the dashboard billing page (/dashboard/billing)
  3. try subscribing to a plan
  4. check that your subscription appears in the billing dashboard
  5. test the customer portal by clicking "manage subscription"

api routes

the following api routes are available for payment processing:

  • /api/payments/customer-state - get the current customer state
  • /api/payments/subscriptions - get user subscriptions

notes

  • relivator 1.4.0+ is ai-ready — optimized for ai-powered ides like cursor, making onboarding effortless even for beginners.
  • version 1.3.0 evolved into versator, featuring clerk authentication and stripe payments. explore versator demo, repo, or docs.

stand with ukraine

  • 💙 help fund drones, medkits, and victory.
  • 💛 every dollar helps stop russia's war crimes and saves lives.
  • ‼️ please, donate now, it matters.

stand with reliverse

  • ⭐ star the repo to help the reliverse community grow.
  • 😉 follow this project's author, nazar kornienko and his reliverse ecosystem, to get updates about new projects faster.
  • 🦄 become a sponsor and power the next wave of tools that just feel right.

every bit of support helps keep the dream alive: dev tools that don't suck.

license

mit © 2025 nazar kornienko (blefnk), reliverse