/next-starter-tpl

🤖 This is a microservices-ready template for building Next.js applications, used by Wayofdev. It comes bundled with Turbo and is managed as a monorepo using PNPM

Primary LanguageTypeScriptMIT LicenseMIT




View Documentation / Demo

Build Status GitHub package.json version Software License Commits since latest release Code Climate maintainability Code Climate issues Code Climate technical debt Codecov

NextJS Starter Template

📄 About

This repository contains a monorepo boilerplate written in Next.js, managed by the pnpm package manager.

You can use it with the backend template, written in Laravel — laravel-starter-tpl.

→ Purpose

  • Establish a clear structure and present a lifecycle perspective (developer experience, continuous integration/continuous deployment, and deployments);
  • Demonstrate how to create and consume shared packages, locales, assets, and API types;
  • Provide a fully configured repository with integrated tools and configs, such as tsconfig, eslint, jest, cypress, tailwind, changelogs, versioning, codecov, codeclimate, sentry, and others;
  • Clarify advantages of using a monorepo, such as team cohesion, consistency, duplication, refactorings, and atomic commits.

→ Utilities and Features

This repository has some additional tools already setup for you:


🙏 If you find this repository useful, please consider giving it a ⭐️. Thank you!


🤔 What's inside?

Open in Gitpod

This turborepo uses pnpm as a package manager. It includes the following packages/apps:

→ Structure

.
├── apps
│   ├── web                  # Next.js app - i18n, SSR, API, Jest, Cypress
│   └── docs                 # Nextra app
└── packages
    ├── common-i18n          # Locales...
    ├── facebook-pixel       # Facebook Pixel tracking functionality
    ├── google-tag-manager   # Google Tag Manager functionality
    └── ui                   # React stub components

→ Apps

Application URL Description
docs Demo Nextra documentation template generated from Nextra: Docs Starter Kit
web Demo Next.js app with TailwindCSS, Facebook Pixel and Google Tag Manager tracking, and Sentry support
storybook Demo Storybook — UI component explorer for React components

Note: Apps should not depend on apps, they can depend on packages

→ Packages

Package Docs Description
common-i18n README.md Locales for multi-language support
facebook-pixel README.md Facebook Pixel tracking functionality
google-tag-manager README.md Google Tag Manager functionality
ui README.md Shared react stub components

Note: Apps can depend on packages, packages can depend on each others


🚩 Requirements

To use this repository, you need to meet the following requirements:


💿 Installation and Usage

Warning: You should configure, set up, and run the docker-shared-services repository to ensure system-wide TLS and DNS support.

Follow getting-started guide in documentation 🔗


🤝 License

Licence

FOSSA Status


🧱 Credits and Useful Resources

This repository is based on the nextjs-monorepo-example template from belgattitude.

Learn more about the power of Turborepo:

Here are some other monorepo templates you may find useful:

Other projects:


🙆🏼‍♂️ Author Information

This repository was created in 2022 by lotyp / wayofdev.


🙌 Want to Contribute?

Thank you for considering contributing to the wayofdev community! We are open to all kinds of contributions. If you want to:

  • 🤔 Suggest a feature
  • 🐛 Report an issue
  • 📖 Improve documentation
  • 👨‍💻 Contribute to the code

You are more than welcome. Before contributing, kindly check our guidelines.


🫡 Contributors

Contributors

Contributors

🤑 Sponsors

Reproto Logo
Reproto

🎖️ Financial Support
VarsityBase Logo
VarsityBase

🎖️ Financial Support
Vercel Logo
Vercel

☁️ Infrastructure Support
Sentry Logo
Sentry

☁️ Infrastructure Support
ZenHub Logo
ZenHub

☁️ Infrastructure Support