
Next.js Clean Architecture boilerplate with Typescript
The Clean Architecture Next.js Boilerplate offers a robust framework for developing web applications using Next.js and TypeScript. Designed with a practical implementation of Clean Architecture principles, this boilerplate provides an organized structure ideal for building scalable and maintainable applications. It features a simple logistics dashboard that facilitates the management of packages and clients, supporting both Admin and Member roles.
This boilerplate is perfect for developers who are looking to adhere to Clean Architecture methodologies while leveraging the capabilities of modern tools such as Docker, Jest, and Playwright. With a clear separation of concerns and a focus on maintainability, this setup is sure to enhance productivity in software development.
Clean Architecture Structure: The project implements a clear separation of layers (app, core, data, domain) to facilitate independent development and testing.
Docker Support: Easily run the application locally with Docker, simplifying the deployment process and environment management.
TypeScript Integration: Leverage TypeScript for improved code quality and type safety, ensuring robustness in your application.
End-to-End Testing: Includes tools like Jest and Playwright for comprehensive testing, ensuring that the application works correctly across various scenarios.
Role-Based Access: Supports different user roles (Admin and Member) with separate functionalities, allowing for personalized user experiences.
Dependency Injection: Implements dependency injection for better management of dependencies across layers, leading to cleaner code.
MVP Pattern: Utilizes the Model View Presenter pattern, optimizing the development process for web applications and enhancing maintainability.
Storybook Integration: Access a visual component library via Storybook, aiding in the development and testing of UI components in isolation.

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
SolidJS is a declarative JavaScript library for building user interfaces, offering a reactive programming model for efficient updates. It stands out for its reactivity system that minimizes unnecessary re-renders and its small bundle size, making it a performant choice for developing lightweight and reactive web applications.
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 CSS is a utility-first CSS framework that provides pre-defined classes for building responsive and customizable user interfaces.
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 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.
Storybook is a tool for developing and testing UI components in isolation. It provides a sandbox environment where you can experiment with different props and states to see how your component responds.
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 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.