/saasfly

Your Next Template! Don't buy boilerplate or template anymore! A magic trip start with `bun create saasfly` . The more stars, the more surprises

Primary LanguageTypeScriptMIT LicenseMIT

Saasfly

GitHub Actions Workflow Status GitHub License Discord Saasfly chinese

An easy-to-use and enterprise-grade Next.js boilerplate.

You don't need to buy templates anymore; Saasfly provides a complete, open-source solution for building SaaS applications quickly and easily.

Here is the formatted text with emphasis on the non-profit support:

Nextify provides a complete Enterprise SaaS solution. Contact us at contact@nextify.ltd if you're interested in discussing your project, or if you'd simply like to have a conversation with us, please feel free to reach out.

โค๏ธ We provide free technical support and deployment services to non-profit organizations.

๐Ÿ™Œ All profits obtained from our open source projects will be entirely dedicated to supporting open source initiatives and charitable causes.

โšก Live Demo

Try it out for yourself!

Demo Server1 (Location: Washington - USA): https://show.saasfly.io

Demo Server2 (Location: Japan - Tokyo): https://demo.saasfly.io

See more documentation at https://document.saasfly.io

๐ŸŒŸ Star History

Star History Chart

๐Ÿš€ Getting Started

๐Ÿ–ฑ One Click Template

Deploy with Vercel

๐Ÿ“‹ Prerequisites

Before you start, make sure you have the following installed:

  1. Bun & Node.js & Git

    1. Linux
      curl -sL https://gist.github.com/tianzx/874662fb204d32390bc2f2e9e4d2df0a/raw -o ~/downloaded_script.sh && chmod +x ~/downloaded_script.sh && source ~/downloaded_script.sh
    1. MacOS
      /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
      brew install git
      brew install oven-sh/bun/bun
      brew install nvm
  2. PostgreSQL

    1. You can use Vercel Postgres or a local PostgreSQL server(add POSTGRES_URL env in .env.local)
         POSTGRES_URL = ''

Installation

To get started with this boilerplate, we offer two options:

  1. Use the bun create command(๐ŸŒŸStrongly recommend๐ŸŒŸ):
bun create saasfly 
  1. Manually clone the repository:
git clone https://github.com/saasfly/saasfly.git
cd saasfly
bun install

Setup

Follow these steps to set up your project:

  1. Set up the environment variables:
cp .env.example .env.local
// (you must have a database prepared before running this command)
bun db:push
  1. Run the development server:
bun run dev:web
  1. Open http://localhost:3000 in your browser to see the result.

๐Ÿฅบ Project Roadmap

  1. Admin Dashboard Page (in alpha !!!) 2. only provide static page now and we plan to integrate with headless arch 3. You can provide your admin account and change ADMIN_EMAIL="admin@saasfly.io,root@saasfly.io" in .env.local and access host:port/admin/dashboard 4. Based on security concerns, we will not provide online demos for the time being.
  2. Multi-language READEME
  3. TODO

โญ Features

๐Ÿญ Frameworks

  • Next.js - The React Framework for the Web (with App Directory)
  • NextAuth.js - Authentication for Next.js
  • Kysely - The type-safe SQL query builder for TypeScript
  • Prisma - Next-generation ORM for Node.js and TypeScript, used as a schema management tool
  • React-email - A React renderer for creating beautiful emails using React components

๐Ÿฎ Platforms

  • Vercel โ€“ Deploy your Next.js app with ease
  • Stripe โ€“ Payment processing for internet businesses
  • Resend โ€“ Email marketing platform for developers

๐Ÿฏ Enterprise Features

  • i18n - Support for internationalization
  • SEO - Search engine optimization
  • MonoRepo - Monorepo for better code management
  • T3 Env - Manage your environment variables with ease

๐Ÿฐ Data Fetching

  • trpc โ€“ End-to-end typesafe APIs made easy
  • tanstack/react-query โ€“ Hooks for fetching, caching and updating asynchronous data in React

๐Ÿฒ Global State Management

  • Zustand โ€“ Small, fast and scalable state management for React

๐Ÿ’ UI

  • Tailwind CSS โ€“ Utility-first CSS framework for rapid UI development
  • Shadcn/ui โ€“ Re-usable components built using Radix UI and Tailwind CSS
  • Framer Motion โ€“ Motion library for React to animate components with ease
  • Lucide โ€“ Beautifully simple, pixel-perfect icons
  • next/font โ€“ Optimize custom fonts and remove external network requests for improved performance

๐Ÿด Code Quality

  • TypeScript โ€“ Static type checker for end-to-end type safety
  • Prettier โ€“ Opinionated code formatter for consistent code style
  • ESLint โ€“ Pluggable linter for Next.js and TypeScript
  • Husky โ€“ Git hooks made easy

๐Ÿ‘ Performance

  • Vercel Analytics โ€“ Real-time performance metrics for your Next.js app
  • bun.sh โ€“ npm alternative for faster and more reliable package management

๐Ÿ˜ Database

  • PostgreSQL โ€“ The world's most advanced open source database

๐Ÿ“ฆ Apps and Packages

  • web: The main Next.js application
  • ui: Shared UI components
  • db: Database schema and utilities
  • auth: Authentication utilities
  • email: Email templates and utilities

๐Ÿ“œ License

This project is licensed under the MIT License. For more information, see the LICENSE file.

๐Ÿ™ Credits

This project was inspired by shadcn's Taxonomy and t3-oss's create-t3-turbo.