Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add flexible vite-react-ts-chakra template #84

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

bartstc
Copy link

@bartstc bartstc commented Mar 5, 2023

This project provides a basic dev setup intended for Single Page Application (SPA) development. It contains already configured tools and libraries providing a quick and seamless start, making the Developer Experience (DX) and scalability of your project easily manageable. It also shows a practical application of selected tools and practices in a form of a demo app.

Template versions

Bearing in mind flexibility and openness to various tools and preferences, this template allows you to adjust your workflow to your needs, assuring best practices and following opinionated frontend/React trends at the same time.

Thus, the template provides two different versions, differing in complexity and spectrum of solved problems.

Basic version - basic

The most basic config of the dev environment. It provides seamless DX and assures a legible and consistent codebase.

Key features

  • Dev environment based on ViteJS 4 toolkit.
  • Testing environment based on Vitest and Storybook 7.
  • Static code analysis: eslint, prettier, husky.
  • TypeScript support.
  • Devcontainer config for VS Code.

Extended version - core

The extension of the basic version. It contains already configured tools and libraries that aim to solve the most basic and typical problems existing in a modern frontend application (SPA).

Key features

  • Everything that's included in the basic version.
  • Simple, modular, and accessible components based on Chakra UI.
  • Data fetching and external state synchronization based on React Query.
  • Routing based on React Router 6.
  • Date formatting based on DayJS.
  • State management with Zustand.
  • API mocking with MSW.
  • A demo app with authentication presenting project structure, good practices, and used tooling in action (with a little help of Fake Store API).

I am glad that I can support this project. If there was any doubt about this PM, please let me know :).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant