Next Gallery Modal

screenshot of Next Gallery Modal

Next Gallery Modal

This is a WordPress-like image upload gallery modal component made with NextJS + Tailwind CSS + Typescript + shadcn-ui + Supabase.


This is a Next.js project that has been created using the create-next-app tool. It provides a development server that can be accessed locally at http://localhost:3000. The project uses the next/font package to optimize and load the custom Google Font, Inter. It also provides resources for learning more about Next.js and deploying a Next.js app using the Vercel Platform.


  • Next.js project: The project is built using Next.js, a React framework for developing server-side rendered applications.
  • Development server: The project includes a development server that can be run locally to preview and test the application.
  • Custom Google Font: The project utilizes the next/font package to automatically optimize and load the Inter Google Font.


To install the Next.js project, follow these steps:

  1. Make sure you have Node.js installed on your machine.
  2. Clone the project repository.
  3. Open the terminal and navigate to the project directory.
  4. Run the following command to install the project dependencies:
npm install
  1. Create a .env.local file in the root of the project.
  2. Add the following environment variables to the .env.local file:
  1. Save the .env.local file.

You have now successfully installed the Next.js project.


The Next.js project provides a development server and is built using the Next.js framework. It includes features such as a custom Google Font and provides resources for learning more about Next.js and deploying a Next.js app using the Vercel Platform. The installation process involves cloning the project repository, installing dependencies, and adding environment variables to a .env.local file.


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 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


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

Headless UI

Headless UI is a set of completely unstyled, fully accessible UI components for React, Vue, and Alpine.js that empower developers to build their own fully accessible custom UI components. Headless UI allows developers to focus on building accessible and highly functional user interfaces, without the need to worry about styling or layout.

Shadcn UI

Beautifully designed components that you can copy and paste into your apps. Accessible. Customizable. Open Source.


Supabase is an open source Firebase alternative. Start your project with a Postgres database, Authentication, instant APIs, Edge Functions, Realtime subscriptions, and Storage.

Fullstack Boilerplates

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.


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 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.


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.


Zustand is a lightweight state management library for React that provides a simple and intuitive API for managing state in your application. It allows developers to easily create and manage global state, and provides a powerful set of tools for optimizing performance and improving developer productivity. Zustand is designed to be easy to use and easy to learn, making it a popular choice for developers of all skill levels.