A sleek, cosmic-themed high-performance text analysis tool built with Node.js 🟢, Express 🚂, and TypeScript 📘. This application provides real-time statistics for word counts, character counts, and more, all wrapped in a stunning cosmic-themed glassmorphism interface.
- ⚡ Real-time Analysis: Get instant feedback as you type, powered by an efficient debounced API.
- 🎨 Premium Aesthetics:
- 💎 Glassmorphism: Elegant transparent cards with backdrop blur.
- 🌌 Dynamic Background: Moving cosmic blobs and a three-layer animated galaxy star field.
- ✨ Smooth Transitions: Micro-animations for a fluid user experience.
- 📊 Deep Insights:
- 📝 Word Count: Accurate word counting excluding whitespace.
- 🔤 Character Count: Total character count including spaces.
- ✂️ Clean Count: Character count excluding all whitespace.
- 📱 Responsive Design: Fully optimized for desktop and mobile devices.
| Category | Technology |
|---|---|
| Frontend | HTML5, Vanilla CSS3 (Custom Design System), TypeScript |
| Backend | Node.js, Express.js |
| Tooling | TypeScript Compiler (tsc), npm, Vercel CLI |
| Deployment | Vercel |
├── public/ # Static assets (HTML, CSS, compiled JS)
│ ├── index.html # Main entry point
│ ├── style.css # Custom design system & animations
│ └── client/ # Compiled client-side TypeScript
├── src/ # Source code
│ ├── client/ # Client-side TypeScript source
│ │ └── script.ts # Main UI logic & API interaction
│ ├── controllers/ # Backend logic
│ │ └── analysis.controller.js
│ └── routes/ # API route definitions
│ └── analysis.routes.js
├── server.js # Express server configuration
├── tsconfig.json # TypeScript configuration
├── package.json # Project dependencies & scripts
└── vercel.json # Vercel deployment configuration
- Clone the repository:
git clone https://github.com/VIJAYAPANDIANT/Word-Counter-Pro.git cd Word-Counter-Pro - Install dependencies:
npm install
- Build the Client: Compile the TypeScript files:
npm run build
- Start the Server:
npm start
- Access the App: Navigate to
http://localhost:5001.
Analyze a string and return word and character counts.
- URL:
/api/analyze - Method:
POST - Payload:
{ "text": "Your text goes here" } - Response:
{ "wordCount": 4, "charCount": 19, "charCountNoSpaces": 16, "success": true }
- Debouncing: The client uses a custom type-safe
debounceimplementation to ensure minimal server load while typing. - Modern CSS: Leverages
@supportsfor progressive enhancement (e.g.,backdrop-filter). - Strict Typing: TypeScript
strict: trueensures robust and error-free code. - Accessibility: Semantic HTML with proper
aria-labelattributes for form elements.
The project is configured for seamless deployment on Vercel.
- Install Vercel CLI:
npm i -g vercel - Deploy:
vercel --prod
- Reading time estimation.
- Sentence and Paragraph count.
- Language detection.
- Export analysis results to PDF/JSON.
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the ISC License. See package.json for more information.
VIJAYA PANDIAN T