Skip to content

DanStuartDept/example-next-product

Repository files navigation

This is a Next.js project bootstrapped with create-next-app.

Code Quality

This project uses Husky to enforce code quality standards before commits:

Git Hooks

  • pre-commit: Runs on staged files before each commit
    • ESLint with auto-fix for code style and quality
    • TypeScript type checking
  • commit-msg: Validates commit messages follow Conventional Commits format
    • Required for semantic versioning and automated releases

Commit Message Format

Commit messages must follow the Conventional Commits specification:

<type>: <description>

[optional body]

[optional footer]

Common types:

  • feat: A new feature
  • fix: A bug fix
  • docs: Documentation changes
  • style: Code style changes (formatting, missing semi-colons, etc.)
  • refactor: Code refactoring
  • test: Adding or updating tests
  • chore: Maintenance tasks

Example:

git commit -m "feat: add user authentication"
git commit -m "fix: resolve navigation bug in mobile view"

CI/CD

This project includes automated PR checks that run on every pull request:

  • Tests: Runs all tests with coverage reporting via Codecov
  • Accessibility Tests: Automated accessibility testing with axe-core (see docs/ACCESSIBILITY_TESTING.md)
  • Linting: Ensures code follows ESLint rules (including accessibility rules)
  • Type Checking: Validates TypeScript types with tsc
  • Build: Verifies the application builds successfully
  • Performance: Runs Unlighthouse performance checks on configured paths

Accessibility Testing

This project includes comprehensive accessibility testing to ensure inclusive user experiences. We use:

  • axe-core for automated a11y testing
  • jest-axe for Vitest integration
  • Storybook a11y addon for visual accessibility checks
  • eslint-plugin-jsx-a11y for static code analysis

For detailed information, see docs/ACCESSIBILITY_TESTING.md.

Performance Testing

Performance tests are configured via unlighthouse.config.js. To add more paths for performance testing:

  1. Edit unlighthouse.config.js
  2. Add paths to the urls array
  3. Adjust performance budgets in the ci.budget section if needed

Getting Started

First, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

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.

This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.

About

Example Next.js product

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •