Skip to content

Password generator app using Redux Toolkit for managing state, including features for adding passwords to favorites, viewing history, changing themes dynamically and customizing password criteria.

License

Notifications You must be signed in to change notification settings

shivamshende/redux-toolkit-password-generator

Repository files navigation

Table of Contents
  1. About the Project

  2. Getting Started

  3. Folder Structure

  4. Skills

  5. Help / Troubleshooting

  6. Author / Contributors

  7. License

About the Project

The React password generator project is a web application that allows users to generate passwords based on their specified criteria.

Description

React password generator with redux toolkit

In this React password generator project, users can customize passwords by including numbers, special characters, uppercase and lowercase letters. The application features a theme switcher, favorites list, and password history. The application also features a theme switcher that allows users to change mutltiple themes Here the topics covered in this project:

  • Password Generation: The project covers the implementation of a password generation algorithm that takes into account the user's specified criteria, such as including numbers, special characters, uppercase letters, and lowercase letters.

  • Customization Options: Users can customize their password generation criteria by selecting options for including numbers, special characters, uppercase letters, and lowercase letters.

  • Passsword Management: Users can add generated passwords to their favorites list and also can see their history list, which is managed using Redux Toolkit.

Libraries Used:

  • @reduxjs/toolki (Redux Toolkit): A package that provides tools and best practices for managing state in a Redux application.

  • reactstrap (CDBReact): A library of Bootstrap 4 components for React, used for building the user interface of the application.

  • nanoid: A library for generating unique IDs, used in the project for managing passwords and history items.

  • react-redux: The official Redux bindings for React, used to connect React components with the Redux store.

  • react-router-dom: A library for routing in React applications, used to handle navigation between different pages and components.

Project Access

Click here to view the project

Getting Started

React + Vite Setup

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. Two official plugins are available for handling Fast Refresh:

Feel free to choose the plugin that best fits your preferences or project requirements.

Prerequisites

Before you begin, ensure you have the following installed:

Installation

  1. Clone the repository:

    git clone <repository-url>
    
  2. Navigate to the project directory:

cd

  1. Install dependencies:

npm install

  1. Running the App:

npm run dev

Folder Structure

The project is organized as follows:

  • public/: Contains public assets such as images, fonts, and HTML files.

  • src/: Houses the source code for the React application.

    • components/: Reusable React components used throughout the application.

    • App.jsx: The main entry point for the React application.

    • main.jsx: The main entry point for rendering the React app into the HTML.

    • ...: Additional files and folders based on project needs.

  • node_modules/: Node.js dependencies automatically installed by npm.

  • package.json: Configuration file that includes metadata about the project and specifies its dependencies.

  • README.md: This file, providing information about the project, how to set it up, and other essential details.

  • ...: Additional configuration files or folders based on project needs.

Feel free to explore each directory for more detailed information about the project structure.

Skills

This project showcases the use of various technologies and skills, including:

  • React.js: Leveraging the power of React for building dynamic and interactive user interfaces.

  • Redux Toolkit: Managing complex application state, including favorites, history, and UI theme, using Redux Toolkit.

  • React Router: Implementing navigation and routing features with React Router for a seamless user experience.

  • Vite: Employing Vite as the build tool for fast and efficient development and bundling.

  • User Interaction: Implemented features for users to add passwords to favorites and view password history, showcasing skills in designing user-friendly interactions.

  • Data Management: Skills in managing and displaying data, including favorites and history lists, in a structured and accessible manner.

  • Component Architecture: Experience in designing and implementing React component architecture, including organizing components for favorites, history, and theme management.

  • Debugging and Problem Solving: Likely encountered and resolved issues related to state management, UI updates, and user interactions, demonstrating problem-solving skills.

  • Version Control: Utilized Git for version control, including managing project changes and collaborating with team members.

  • npm: Managing project dependencies and scripts using the Node Package Manager.

  • Node.js: Providing the runtime environment for building and running JavaScript applications.

Help / Troubleshooting

If you encounter any issues while setting up or running the project, consider the following advice for common problems:

Common Issues and Solutions

  1. Node.js and npm Version:

    • Ensure you have a compatible version of Node.js installed. This project is designed to work with Node.js version 14.x or later. You can check your Node.js version by running:
      node -v

    Update Node.js if needed: Download Node.js

  2. Installation Failures:

    • If you face issues during the installation of dependencies, try running:
      npm install --legacy-peer-deps

    This can sometimes resolve compatibility problems with peer dependencies.

  3. Port Already in Use:

    • If the development server fails to start due to a port conflict, you can specify a different port using:
      npm run dev -- --port <desired-port>
  4. Community Support:

    • Reach out to the community on platforms such as Stack Overflow for additional support.

Remember, providing detailed information about the problem you are facing will greatly assist in finding a solution.

Author / Contributors

This project is maintained by [Shivam Shende].

Contributions are welcome! Feel free to make changes. You can create a pull request with your changes.

Contact

For inquiries, suggestions, or collaboration opportunities, feel free to reach out to the author:

This project is licensed under the MIT License. See the LICENSE file for the full license text.

About the License

The MIT License is a permissive open-source license that allows you to freely use, modify, and distribute this software, subject to the conditions stated in the LICENSE file.

Thank you for adhering to the terms of the license!

About

Password generator app using Redux Toolkit for managing state, including features for adding passwords to favorites, viewing history, changing themes dynamically and customizing password criteria.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published