Skip to content

SHASANGNIX/WordWizard

Β 
Β 

Repository files navigation

WordWizard πŸ§™β€β™‚οΈ

A powerful text manipulation tool built with React and Vite for the modern web.

Live Demo License: MIT PRs Welcome GitHub Stars GitHub Forks GitHub Issues

Live Demo β€’ Report Bug β€’ Request Feature


πŸ“‹ Table of Contents


🎯 About

WordWizard is a modern, feature-rich text manipulation tool that empowers users to efficiently analyze and transform text content. Built with performance and user experience in mind, it provides a comprehensive suite of text processing features with an intuitive interface.

Why WordWizard? Description
πŸš€ Lightning Fast Built with React + Vite for optimal performance.
🎨 Customizable Multiple themes and appearance options.
πŸ“± Responsive Works seamlessly across all devices.
πŸ” Privacy-Focused All text processing happens locally in your browser.

⭐ Key Features

Category Feature
✍️ Text Manipulation β€’ Case conversion (UPPERCASE, lowercase) β€’ Smart space management β€’ Real-time text analysis β€’ One-click copy to clipboard
πŸ“Š Analysis Tools β€’ Detailed word & character counts β€’ Character frequency analysis β€’ Reading time estimation β€’ Text complexity metrics
🎨 User Experience β€’ Dark/Light mode with multiple themes β€’ Instant results with no page reloads β€’ Auto-save functionality β€’ Smooth transitions

πŸ› οΈ Tech Stack

Category Technologies
Core React 18, Vite, Tailwind CSS
UI Components Bootstrap 5, CSS Modules
State Management React Context API
Dev Tools ESLint, Prettier, Husky, lint-staged
Testing Jest, React Testing Library

πŸš€ Getting Started

Prerequisites

  • Node.js: v16 or higher
  • npm: v7 or higher

Installation Steps

  1. Forking the Repository:

    If you’d like to contribute to WordWizard, start by creating your own copy of the repository. Go to the WordWizard GitHub repository: https://github.com/palchhinparihar/WordWizard

    Click on the β€œFork” button (top-right corner of the page). This creates a personal copy of the repository under your GitHub account.

  2. Clone your forked repository:

    git clone https://github.com/palchhinparihar/WordWizard.git
    cd WordWizard
  3. Add the upstream remote (original repo)

    git remote add upstream https://github.com/palchhinparihar/WordWizard.git
  4. Sync your fork with the main repo:

    git pull upstream main
  5. Install dependencies:

    npm install
  6. Add .env file:

    Rename the provided .env-example file to .env and ensure it contains the following line:

    VITE_LANUGAGETOOL_API_URL=https://api.languagetool.org/v2/check

    Note: Never commit your personal .env file to GitHub. It should remain local for security reasons.

  7. Create a New Branch

    Before making any changes, create a new branch for your contribution:

    git checkout -b <your-branch-name>

    Use a descriptive branch name, such as:

    -fix/navbar-animation

    -feature/add-dark-mode-toggle

    -docs/update-readme

  8. Start the development server:

    npm run dev

Optional: Abstractive summarization server

WordWizard includes an optional small server that proxies to the OpenAI API to produce abstractive summaries (summaries in the assistant's own words).

  1. Copy the example env and provide an OpenAI key:
cp server/.env.example server/.env
# then edit server/.env and set OPENAI_API_KEY
  1. Install and start the server (from the project root):
cd server
npm install
npm start
  1. Enable the client to use the abstractive API by creating or updating .env in the project root and adding:
VITE_USE_ABSTRACT_API=true
VITE_SUMMARIZER_API_URL=http://localhost:3001/summarize

When enabled, the Summarize buttons use the server to generate an abstractive summary in their own words. If not enabled, the app falls back to an in-browser extractive summarizer.

Available Scripts

  • npm run dev: Start development server.
  • npm run build: Create a production build.
  • npm run test: Run the test suite.
  • npm run lint: Lint the codebase.

πŸ“‚ Project Structure

wordwizard/
β”œβ”€β”€ public/                  # Static assets
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ assets/              # Images, fonts, etc.
β”‚   β”œβ”€β”€ components/          # React components
β”‚   β”‚   β”œβ”€β”€ About.jsx
β”‚   β”‚   β”œβ”€β”€ Alert.jsx
β”‚   β”‚   β”œβ”€β”€ BackToTopButton.jsx
β”‚   β”‚   β”œβ”€β”€ DialogBox.jsx
β”‚   β”‚   β”œβ”€β”€ Footer.jsx
β”‚   β”‚   β”œβ”€β”€ Navbar.jsx
β”‚   β”‚   β”œβ”€β”€ SummaryCard.jsx
β”‚   β”‚   β”œβ”€β”€ TextForm.jsx
β”‚   β”‚   β”œβ”€β”€ Toolbar.jsx
β”‚   β”‚   └── Welcome.jsx
β”‚   β”œβ”€β”€ data/                # Static data
β”‚   β”‚   β”œβ”€β”€ accordionItems.js
β”‚   β”‚   β”œβ”€β”€ navbarContent.js
β”‚   β”‚   β”œβ”€β”€ textUtils.js
β”‚   β”‚   └── themes.js
β”‚   β”œβ”€β”€ i18n/               # Internationalization
β”‚   β”‚   β”œβ”€β”€ en.json
β”‚   β”‚   β”œβ”€β”€ hi.json
β”‚   β”‚   └── index.jsx
β”‚   β”œβ”€β”€ App.jsx             # Main App component
β”‚   β”œβ”€β”€ index.css           # Main App style
β”‚   β”œβ”€β”€ main.jsx            # Entry point
β”‚   └── utils.js            # Utility functions
β”œβ”€β”€ .env-example            # Environment variables
β”œβ”€β”€ index.html              # HTML entry point
β”œβ”€β”€ package.json            # Dependencies and scripts
β”œβ”€β”€ tailwind.config.js      # Tailwind configuration
└── vite.config.js          # Vite configuration

🀝 Contributing

We welcome contributions! Please see our Contributing Guide for more details on how to get started.

πŸŽ‰ Hacktoberfest 2025: We are excited to participate in Hacktoberfest! Look for issues tagged with hacktoberfest, good-first-issue, or help-wanted.


πŸ‘₯ Contributors

Thanks to these wonderful people who have contributed to WordWizard:

Contributors


βš–οΈ License

This project is licensed under the MIT License. See the LICENSE file for details.


πŸ“ž Contact

Project Lead

Palchhin Parihar
GitHub

Project Links


Made with ❀️ by the WordWizard Team

About

WordWizard is a text utility that lets you peform multiples operations and have a unique set of themes to explore!

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 95.5%
  • HTML 3.4%
  • CSS 1.1%