Giter VIP home page Giter VIP logo

next-forge's Introduction

next-forge

A production-grade boilerplate for modern Next.js apps.

next-forge is a Next.js project boilerplate for modern web application. It is designed to be a comprehensive starting point for new apps, providing a solid, opinionated foundation with a minimal amount of configuration.

Features

  • โ–ฒ Framework is Next.js 14 (using App Directory and React Server Components) โ€” a React framework for production-grade apps. Designed to be deployed on Vercel, but you can take it almost anywhere.
  • ๐Ÿค Full TypeScript support, including strict mode.
  • ๐Ÿ“ฆ React components from shadcn/ui, built on Radix UI, Tailwind CSS and cva.
  • ๐Ÿ‘ฉโ€โš–๏ธ Linting from eslint-config-harmony, which provides a strict set of configuration for ESLint, Prettier and Stylelint.
  • ๐Ÿ“€ Database uses Prisma as the ORM. Can be connected to any supported database โ€” I recommend PlanetScale.
  • ๐Ÿ“ง Emails templated by react.email and sent using Resend. Additionally, Loops form for a waitlist.
  • ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ Authentication provided by Clerk, which provides a secure, scalable and customizable authentication system.
  • ๐ŸŸข Log Drain and Status provided by BetterStack.
  • ๐Ÿž Error capturing provided by Sentry.
  • ๐Ÿ’ธ Payments provided by Stripe.
  • ๐Ÿ“ˆ Analytics provided by Vercel Analytics and Google Analytics.
  • ๐Ÿค– AI provided by Vercel AI, using OpenAI by default.
  • ๐Ÿ’ฌ Feedback through Canny.
  • ๐Ÿ“ MDX content through Contentlayer.
  • ๐Ÿ”” Notifications provided by Knock.
  • ๐Ÿ”„ Cron jobs provided by Vercel.

... plus a stack of other features for customization, security and performance.

Philosophy

next-forge is a culmination of my experience building web apps over the last decade and focuses on a few key principles:

  1. The project should be fast. This doesn't just mean fast to build, run and deploy. It also means it should be fast to validate ideas, iterate and scale. This is important for finding product-market fit and growing a business.
  2. The project should be cheap, at least to start. It should avoid a flat cost, or have a generous free tier. I try to make all my projects self-sustaining, so the goal is to avoid any recurring costs upfront and find services that scale with me.
  3. The project should be opinionated. This means that the tooling should be designed to work together, and the project should be designed to work with the tooling. This is important for reducing friction and increasing productivity.
  4. The project should be modern. This means that the tooling should be actively maintained, and the project should be designed to take advantage of the latest features. This is important for reducing technical debt and increasing longevity.

Usage

  1. First, scaffold the app with: yarn create next-app --example https://github.com/haydenbleasel/next-forge
  2. Once it is downloaded, rename .env.example to .env. This will turn the example environment variables into your local ones. This file is not committed to GitHub by default (and shouldn't be). You can do this in Terminal with mv .env.example .env
  3. Update the environment variables in .env with your own values.
  4. Update any reference of /CompanyName/ in the legal docs. You can do this with grep -rl '/CompanyName/' blog/ | xargs sed -i '' 's|/CompanyName/|Acme|g'
  5. Run the development server with yarn dev, then open http://localhost:3000 with your browser to see the result. You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.

next-forge's People

Contributors

haydenbleasel avatar dependabot[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.