A Solid Foundation for Building Scalable and Efficient Progressive Web Application!
<a href="https://github.com/AjayKanniyappan/nextjs-pwa-template#readme" target="_blank">
<img alt="Documentation" src="https://img.shields.io/badge/Documentation-yes-brightgreen.svg" />
</a>
<img alt="Version" src="https://img.shields.io/badge/Version-1.0.0-blue.svg?cacheSeconds=2592000" />
<a href="https://github.com/AjayKanniyappan/nextjs-pwa-template/blob/main/LICENSE" target="_blank">
<img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-yellow.svg" />
</a>
<a href="https://web.dev/measure">
<img alt="100% lighthouse scores" src="https://img.shields.io/badge/lighthouse-100%25-845EF7.svg?logo=lighthouse&logoColor=red&style=flat-square" />
</a>
<a href="https://github.com/prettier/prettier" target="_blank">
<img alt="prettier" src="https://img.shields.io/badge/Code_style-prettier-ff69b4.svg?style=flat-square" />
</a>

Next.js PWA template 🐾 is a starter template that provides a comprehensive setup for building a progressive web app (PWA) using the Next.js framework. Don't worry about the configuration 🔨 this template will take care of that, focus on your codes⌨️ and project ideas💡
This template includes a pre-configured setup for service workers, offline support, and manifest files, making it easy for developers to create a high-performing PWA with minimal setup. The template also includes a basic layout and routing system, along with some basic components and styles, to help developers get started quickly. This template give you the end to end type safety. Additionally, it includes a range of popular libraries and tools, such as Prettier, ESLint, and Tailwind CSS, to ensure that the code is well-formatted and follows best practices. With the help of this template, developers can easily create a fast and reliable PWA that can work seamlessly across all devices.
🌑 Dark mode

🔦 Light mode

🌑 Dark mode

🔦 Light mode

The Next.js PWA Template achieve a 100% score in Google Lighthouse

Next.js PWA Template Built With
These instructions will get you a copy of the Next.js PWA Template and running on your local machine for development and testing purposes. See Deploy for notes on how to lunch your PWA app in live.
Before you begin i recommend you read about the basic building blocks that assemble a Next.js PWA Template:
React.js - React's Official Website is a great starting point. You can also use W3Schools Popular Guide, and Egghead Videos.
Next.js - The best way to understand Next.js is through its Official Website, which has a Getting Started guide, You can also go through this TutorialsPoint Guide for more resources.
TypeScript - Go through TypeScript Official Website and proceed to their Official Manual, which should help you understand TypeScript better.
Node.js - Start by going through Node.js Official Website and this StackOverflow Thread, which should get you going with the Node.js platform in no time.
Make sure you have installed all of the following prerequisites on your development machine:
NOTE: This project requires NodeJS (version 14 or later) and NPM. Node and NPM are really easy to install.
There are several ways you can get the Next.js PWA Template:
The recommended way to get Next.js PWA Template is to use git to directly clone the repository:
# Clone the project
git clone https://github.com/AjayKanniyappan/nextjs-pwa-template.git <your-project-name>
# Enter the project directory
cd <your-project-name>
This will clone the latest version of the Next.js PWA Template repository to a nextjs-pwa-template folder.
Another way to use the Next.js PWA Template is to download a zip copy from the main branch on GitHub. You can also do this using the wget command:
wget https://github.com/AjayKanniyappan/nextjs-pwa-template/archive/refs/heads/main.zip -O nextjs-pwa-template-main.zip; unzip nextjs-pwa-template-main.zip; rm nextjs-pwa-template-main.zip
Don't forget to rename nextjs-pwa-template-main after your project name.
Once you've downloaded the Template and installed all the prerequisites, you're just a few steps away from starting to develop your Progressive Web App using Next.js.
The Template comes pre-bundled with a package.json file that contain the list of modules you need to start your application.
To install the dependencies, run this in the application folder from the command-line:
# Install dependency
npm install
Or if you prefer using Yarn:
# Install dependency
yarn install
This command does a few things:
Next.js PWA Template files and folder structure.
+├── .husky Automate your git commits
├── .next Contains the minimized version of the source code
+├── .vscode vscode debug folder and extension support
│
+├── public Project assets folder
│ ├── icons Icon sets folder
│ │ └── NxN.png Different pixel png's
│ └── manifest.json Manifest for PWA application
│
+├── src Source code folder
│ ├── common It contains common data
│ ├── components This folder consists of a collection of UI components
│ ├── constants It contains constant urls and data
│ ├── hooks It contains custom hooks for all pages
│ ├── layouts It contains page layout
│ ├── pages Pages and indicate the routes
+│ │ └── index.tsx Starting point of the application
│ ├── services It contains API Services
│ ├── styles It contains css styles
│ ├── svg It contains SVG Vectors
│ ├── types Typescript types declaration folder
│ └── utils It contains a set of utility functions
│
├── .editorconfig EditorConfig for defining coding styles
├── .eslintrc.json Eslint configurations
├── .prettierrc prettier code formatter
+├── next.config.js Next.js PWA configurations
+├── package.json Package.json for development
|── postcss.config.js Post CSS configurations
+├── tailwind.config.js Tailwind CSS configurations
├── tsconfig.json TypeScript Configuration
+└── tsconfig.node.json TypeScript paths
Use your favorite JavaScript Package Managers npm or yarn or pnpm
Run your application using npm:
npm run dev
Or if you prefer using Yarn:
yarn dev

Your Next.js application should run on port 5050 with the development environment configuration, so in your browser just go to http://localhost:5050
That's it! Your application should be running. To
$ claude mcp add nextjs-pwa-template \
-- python -m otcore.mcp_server <graph>