Nextjs Prisma Boilerplate

screenshot of Nextjs Prisma Boilerplate
express
nextjs
react
scss
tailwind
prisma

Full stack boilerplate with Next.js, Prisma, Tailwind, TypeScript, Docker, Postgres, documentation, frontend and backend unit and integration tests with Jest, Cypress end-to-end tests, Github Actions CI/CD workflows, and production deployment with Traefik and Docker.

Overview:

Next.js Prisma Boilerplate is a full stack boilerplate built around the latest Next.js stack. It incorporates the best practices described in the official documentation and the developer's own experience. The goal of this boilerplate is to save time and effort by providing a pre-configured setup for architectural decisions, library choices, development and production environments, and CI/CD pipelines. By installing this boilerplate, developers can start working on their features immediately instead of spending months on setup.

Features:

  • Tech stack: React 18.2.0, Next.js 12.2.0, Node.js 16.13.1, Prisma 4, Postgres 14.3, TypeScript 4.7.4, React Query 4-beta, Axios, React Hook Form 8-alpha, React Dropzone, Zod, msw, TailwindCSS 3, Jest 28, Testing Library React, Cypress 9.6.1.
  • Frontend:
    • Authentication with next-auth and Facebook, Google, and Credentials providers.
    • Utilizes all Next.js features such as routing, SSR, SEO, Image component, error pages, and .env* files.
    • Scalable and decoupled component structure: pages -> layouts -> views -> components.
    • Fully responsive design implemented with TailwindCSS, SCSS, and BEM (no usage of !important statements).
    • Themes implemented as a custom Tailwind plugin.
    • Fully configured TypeScript, ESLint, and Prettier.
    • Loading and error states handled with Suspense and ErrorBoundary.
    • Forms implemented with React Hook Form, Zod validation schemas, and React Dropzone.
    • Data fetching and server state management with React Query and custom hooks.
  • Backend:
    • Uses Next.js API with a custom server and a static folder for serving files at runtime.
    • Prisma ORM with Postgres database for managing data and a Faker seed script.
    • Prisma schema...
express
Express

Express.js is a simple Node.js framework for single, multi-page, and hybrid web applications.

nextjs
Next.js

Next.js is a React-based web framework that enables server-side rendering, static site generation, and other powerful features for building modern web applications.

react
React

React is a widely used JavaScript library for building user interfaces and single-page applications. It follows a component-based architecture and uses a virtual DOM to efficiently update and render UI components

scss
SCSS

SCSS is a preprocessor scripting language that extends the capabilities of CSS by adding features such as variables, nesting, and mixins. It allows developers to write more efficient and maintainable CSS code, and helps to streamline the development process by reducing repetition and increasing reusability.

tailwind
Tailwind

Tailwind CSS is a utility-first CSS framework that provides pre-defined classes for building responsive and customizable user interfaces.

prisma
Prisma

Prisma is a server-side library that helps developers read and write data to the database in an intuitive, efficient and safe way.

fullstack
Fullstack

A fullstack boilerplate provides a starter application that includes both frontend and backend. It should include database, auth, payments, user roles and other backend services to build a fully featured saas or webapps.

docker
Docker

A website that uses Docker for containerization to streamline development, testing, and deployment workflows. This includes features such as containerization of dependencies, automated builds and deployments, and container orchestration to ensure scalability and availability.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

postcss
Postcss

PostCSS is a popular open-source tool that enables web developers to transform CSS styles with JavaScript plugins. It allows for efficient processing of CSS styles, from applying vendor prefixes to improving browser compatibility, ultimately resulting in cleaner, faster, and more maintainable code.

Stylelint

Stylelint is a modern linter for CSS that helps you avoid errors and enforce consistent styling conventions. It provides rules for detecting errors and warnings, and can be configured to match your specific project's requirements.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.