Skip to content

A React boilerplate with Atomic Design methodology. This boilerplate also includes libraries that support basic features such as fetching, global state management, and routing systems.

Notifications You must be signed in to change notification settings

rivaldys/react-starter

Repository files navigation

React Starter

A React boilerplate with Atomic Design methodology. This boilerplate also includes libraries that support basic features such as fetching, global state management, and routing systems. Built with the power of React and Vite.

# Main idea

The main idea of this boilerplate is to bundle things up that you need on starting a frontend project without manually configuring the routing library, fetching library, defining directory structure, etc.

# Then, in this boilerplate, what does the Atomic Design use for?

Atomic Design in design concept generally categorizes the component/element from the smallest to the biggest one (hence the name "atomic", adopted from physics term). In frontend development or in programming in general, prioritizing the usage of components that can be reused again and again (reusable components) is such a good idea for good development, programming experience, maintainability, etc. In other words, this concept covers enough for that thing. This boilerplate implements the concept of Atomic Design in its directory structure.

❯ Preview

react-starter_home react-starter_about

❯ Features

  • Fetching library: axios
  • State management: redux
  • Routing systems: react-router-dom
  • Absolute imports
  • Custom app's port
  • Custom hooks:
    • useEventListener
    • useForm
    • useNetworkStatus

❯ Installation Prerequisites

The following are required to be able to run this application:

  • Node.js v18
  • pnpm (package manager)

❯ Development

For development purposes, before running this application please do some necessary preparations including: installing dependencies, and setting environment variables in the .env.development file.

❶ Dependencies Installation

Command:

npm install -g pnpm
pnpm install

❷ Setting the Environment Variable

Please copy or duplicate the .env.example file into .env.development (specific to the development version) or .env and adjust each variable. If you want to copy the file automatically, you can run the command below in the terminal and adjust each variable.

Command:

cp .env.example .env.development

❸ Running the App

Command:

pnpm dev

❯ Author

This documentation was written by Ahmad Rivaldy S

About

A React boilerplate with Atomic Design methodology. This boilerplate also includes libraries that support basic features such as fetching, global state management, and routing systems.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published