Skip to content
/ Startacus Public template

A full stack next.js based, starter kit using the best tech out there. Fast, scalable, and ready for battle.

Notifications You must be signed in to change notification settings

NikeshCohen/Startacus

Repository files navigation

Startacus

A modern, production-ready Next.js starter template with authentication, database, and beautiful UI components.

✨ Features

  • Instant Ignition - Smart defaults and best practices to get you coding, not configuring
  • Code What Counts - Skip the boilerplate and focus on your unique business logic
  • Scale Without Sweat - Architected for growth and optimized for performance

🚀 Tech Stack

  • Next.js - Full-stack React framework with SSR and API routes
  • TypeScript - Type-safe JavaScript for maintainable code
  • BetterAuth - Simple, secure authentication with social logins and 2FA
  • Drizzle ORM - Type-safe SQL with automatic migrations
  • Supabase - PostgreSQL database with instant APIs
  • TanStack Query - Powerful data-fetching and state management
  • Tailwind CSS - Utility-first CSS framework
  • shadcn/ui - Beautiful, accessible UI components
  • Resend - Reliable email API for transactional emails

📦 Getting Started

Prerequisites

  • Bun 1.0+ installed
  • PostgreSQL database (or Supabase account)

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/startacus.git
cd startacus
  1. Install dependencies:
bun install
  1. Set up your environment variables:
cp .env.example .env
  1. Configure your .env file with your database and API keys

  2. Run database migrations:

bun run db:sync
  1. Start the development server:
bun run dev
  1. Open http://localhost:3000 in your browser

🛠️ Available Scripts

  • bun run dev - Start development server with Turbopack
  • bun run build - Build for production
  • bun start - Start production server
  • bun run lint - Run ESLint
  • bun run typecheck - Run TypeScript type checking
  • bun run db:push - Push database schema changes
  • bun run db:studio - Open Drizzle Studio
  • bun run db:sync - Sync database (generate, migrate, push, pull)
  • bun run email - Start email development server

🔒 Git Commit Flow (Husky)

Startacus uses Husky and lint-staged to ensure code quality. When you commit:

  1. Pre-commit Hook - Automatically runs on staged files:

    • Stashes unstaged changes (keeps workspace clean)
    • Runs TypeScript type checking
    • Runs ESLint with auto-fix
    • Runs Prettier formatting
    • Restores unstaged changes after checks
  2. Commitlint - Enforces conventional commit messages (e.g., feat:, fix:, docs:)

  3. Post-commit - Reminds you to push changes

This ensures every commit is type-safe, linted, and formatted consistently.

📁 Project Structure

startacus/
├── actions/               # Server actions
├── app/                   # Next.js app directory
│   ├── (dashboard)/      # Dashboard routes & components
│   ├── (main)/           # Main app routes (auth, admin, etc.)
│   ├── api/              # API routes (auth, uploadthing)
│   └── styles/           # Global styles
├── components/            # React components
│   ├── global/           # Global components (Header, Footer, etc.)
│   ├── home/             # Landing page components
│   ├── profile/          # User profile components
│   └── ui/               # UI components (shadcn/ui)
├── constants/             # App constants and configs
├── database/              # Database schema and migrations
│   ├── drizzle/          # Drizzle migrations
│   └── schema/           # Database schema definitions
├── emails/                # Email templates (React Email)
├── hooks/                 # Custom React hooks
├── lib/                   # Utility functions and configs
│   └── auth/             # Authentication utilities
├── providers/             # React context providers
├── public/                # Static assets
└── .husky/                # Git hooks for code quality

🔐 Authentication

Startacus comes with built-in authentication including:

  • Email/password authentication
  • Magic link authentication
  • Social logins (Google, etc.)
  • Email verification
  • Session management
  • User profile management

📧 Email Templates

Pre-built email templates using React Email:

  • Email verification
  • Magic link login
  • Email change confirmation

🎨 UI Components

Built with shadcn/ui and Tailwind CSS, featuring:

  • Responsive design
  • Dark mode support
  • Accessible components
  • Customizable themes

About

A full stack next.js based, starter kit using the best tech out there. Fast, scalable, and ready for battle.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages