GithubHelp home page GithubHelp logo

digitsfan / react-redux-saga-boilerplate Goto Github PK

View Code? Open in Web Editor NEW

This project forked from maitraysuthar/react-redux-saga-boilerplate

0.0 0.0 0.0 2.56 MB

A boilerplate for React JS with Redux and Saga. Backend for this structure: https://github.com/maitraysuthar/rest-api-nodejs-mongodb

License: MIT License

HTML 3.13% CSS 3.71% JavaScript 93.16%

react-redux-saga-boilerplate's Introduction

React JS with Redux and Saga Project Structure

Author GitHub license GitHub repo size

A ready-to-use boilerplate for React JS with Redux and Saga.

Project Overview

This is a basic project structure with repeatative use cases. Added some essential feature for every projects. It is very useful to build mid to complex level project. This project structure is based on NodeJs api boilerplate app: https://github.com/maitraysuthar/rest-api-nodejs-mongodb

I had tried to maintain the code structure easy as any beginner can also adopt the flow and start building a great app. Project is open for suggestions, Bug reports and pull requests.

Is this project deserves a small treat?

If you consider my project as helpful stuff, You can appreciate me or my hard work and time spent to create this helpful structure with buying a coffee for me.

Buy Me a Coffee at ko-fi.com    Buy Me A Coffee

Features

Feature Details
Structure Project is build with extenensible and flexible Moduler pattern
Authentication Basic Authentication (Register/Login)
Confirm Account Account confirmation with OTP verification
Route Protection Route protection with middleware and localstorage
Lazy Loading Added Lazy Loading of components to fasten the execution process of application
App State Management Application level state management with Redux
Async Call Managed async calls with Saga middleware
Forms Managed apllication forms & validations with Formik and Yup

Software Requirements

  • Node.js 8+

How to install

Using Git (recommended)

  1. Clone the project from github. Change "myproject" to your project name.
git clone https://github.com/maitraysuthar/react-redux-saga-boilerplate.git ./myproject

Using manual download ZIP

  1. Download repository
  2. Uncompress to your desired directory

Install npm dependencies after installing (Git or manual download)

cd myproject
npm install

Setting up environments

  1. You will find a file named .env.example on root directory of project.
  2. Create a new file by copying and pasting the file and then renaming it to just .env
    cp .env.example .env
  3. The file .env is already ignored, so you never commit your credentials.
  4. Change the values of the file to your environment. Helpful comments added to .env.example file to understand the constants.

How to run

npm start

New Module

All the modules of the project will be in /src/modules/ folder, If you need to add more modules to the project just create a new folder in the same folder.

Every folder contains following files:
  • Component file (index.jsx)
  • Actions file (actions.js)
  • Reducer file (reducer.js)
  • Saga file (saga.js)
  • Style file ([module].css)
  • Sub module folder, if any.
Root module:

Module's root module folder is /src/modules/app/ it contains main Routes file (routes.js), Reducer file (mainReducer.js) and Saga file (mainSaga.js). You will need to add your every component,reducer & saga to make your module work.

Found any bug? Need any feature?

Every project needs improvements, Feel free to report any bugs or improvements. Pull requests are always welcome.

License

This project is open-sourced software licensed under the MIT License. See the LICENSE file for more information.

react-redux-saga-boilerplate's People

Contributors

maitraysuthar avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.