Skip to content

A React + Redux starter template written in TypeScript — designed as a clean foundation for building scalable Redux-powered React applications. This repo includes common project structure, state management utilities, typed hooks, and best-practice conventions so you can start your Redux app quickly without repetitive boilerplate.

Notifications You must be signed in to change notification settings

muhammadranju/redux-project-setup

Repository files navigation

Redux Project Setup

A React + Redux starter template written in TypeScript — designed as a clean foundation for building scalable Redux-powered React applications.

This repo includes common project structure, state management utilities, typed hooks, and best-practice conventions so you can start your Redux app quickly without repetitive boilerplate.


📦 Features

✔ Organized folder structure for components, state logic, hooks, types, and utilities ✔ Fully typed (TypeScript) Redux setup ✔ Base files for scalable state management ✔ Reusable React hooks ✔ Clean separation of domains and logic


🚀 Project Structure

├── app/             # App configuration, store setup, providers
├── components/      # UI components
├── data/            # Static data, mock data files
├── hooks/           # Custom React hooks
├── interface/       # TS interfaces used across the app
├── lib/             # Shared utilities and helpers
├── types/           # Type definitions
├── public/          # Static public assets
├── package.json     # Project dependencies & scripts
├── tsconfig.json    # TypeScript configuration
└── eslint.config.mjs# Linting configuration

📌 Prerequisites

Make sure you have Node.js and npm or bun installed.

To develop and run this project locally:


🛠️ Installation

  1. Clone the repository
git clone https://github.com/muhammadranju/redux-project-setup.git
cd redux-project-setup
  1. Install dependencies
npm install
# or
bun install
  1. Start the development server
npm start
# or
bun run start

Visit http://localhost:3000 in your browser to view the application.


🧠 Redux Setup Overview

This project uses a modern Redux architecture that aligns with common patterns such as:

  • Centralized Redux store configuration (likely in app/)
  • Typed Redux hooks (useAppDispatch, useAppSelector)
  • Feature-based organizational slices/modules
  • Separation of concerns between components and state logic

💡 Redux Toolkit is recommended for maintaining Redux logic simply and clearly, and many current projects follow this pattern.([Redux][1])


🧩 Usage

Adding a New Slice / Feature

  1. Create a new folder under features/ or similar
  2. Define state and reducers using Redux Toolkit or standard Redux setup
  3. Export selectors and actions
  4. Connect components using typed hooks

Example usage pattern:

import { useAppSelector, useAppDispatch } from "../hooks";
import { exampleAction } from "../features/exampleSlice";

const Component = () => {
  const dispatch = useAppDispatch();
  const data = useAppSelector((state) => state.example.value);

  return (
    <button onClick={() => dispatch(exampleAction())}>Dispatch Action</button>
  );
};

📦 Available Scripts

Use the commands in package.json to:

Command Description
npm start Run the app in development mode
npm run build Builds the app for production
npm test Launches the test runner

📖 Contributing

Contributions are welcome! Please open issues and submit pull requests to improve features, add documentation, or fix bugs.

About

A React + Redux starter template written in TypeScript — designed as a clean foundation for building scalable Redux-powered React applications. This repo includes common project structure, state management utilities, typed hooks, and best-practice conventions so you can start your Redux app quickly without repetitive boilerplate.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published