A comprehensive suite of free, web-based tools that simplify everyday digital tasks.
Digital Services Hub provides a modern, accessible platform focused on:
- 🌟 User-friendly and intuitive interfaces
- 🔒 Privacy-first approach with client-side processing
- ♿ Accessibility and inclusive design
- 🚀 Performance and efficiency
- 💻 Cross-platform compatibility
- 🌐 Global availability
- Text to Speech: Convert text to natural-sounding speech with multiple voices and languages
- Image Resizer: Resize and optimize images while maintaining quality
- ASCII Art: Convert images into creative ASCII art
- Color Palette: Generate beautiful color harmonies for designs
- QR Code Generator: Create customizable QR codes
- Password Generator: Generate secure passwords with advanced options
- URL Shortener: Create short, trackable links
The project includes a comprehensive set of accessible, themeable UI components:
- Buttons: Multiple variants, sizes, and states with keyboard navigation
- Forms: Fully accessible form controls with validation states
- Alerts: Customizable notifications with auto-dismiss
- Progress: Interactive progress bars with various states
- Modal: Accessible dialog system with keyboard trapping
- Tooltip: Customizable tooltips with multiple positions
- Navigation: Responsive navigation with mobile support
- Dark/Light Theme: Automatic theme detection with manual override
- Responsive Design: Mobile-first approach with fluid layouts
- Accessibility: ARIA attributes and keyboard navigation
- Animations: Smooth transitions and loading states
- Error Handling: Comprehensive error states and feedback
-
Clone the repository:
git clone https://github.com/TMHDigital/Digital_Services.HUB.git
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
Digital_Services.HUB/
├── css/ # Stylesheets
│ ├── base/ # Base styles and reset
│ ├── components/ # Component styles
│ │ ├── alerts.css
│ │ ├── ascii-art.css
│ │ ├── buttons.css
│ │ ├── cards.css
│ │ ├── color-palette.css
│ │ ├── forms.css
│ │ ├── image-resizer.css
│ │ ├── modal.css
│ │ ├── navigation.css
│ │ ├── notifications.css
│ │ ├── password-generator.css
│ │ ├── progress.css
│ │ ├── qr-code.css
│ │ ├── social-share.css
│ │ ├── spinner.css
│ │ ├── text-to-speech.css
│ │ ├── tool-page.css
│ │ ├── tooltip.css
│ │ ├── ui.css
│ │ └── url-shortener.css
│ ├── themes/ # Theme configuration
│ ├── utils/ # Utility styles
│ └── styles.css # Main stylesheet
├── js/ # JavaScript files
│ ├── api/ # API integrations
│ │ └── text-to-speech-api.js
│ ├── build/ # Build scripts
│ ├── components/ # UI components
│ ├── config/ # Configuration
│ ├── features/ # Tool implementations
│ │ ├── about.js
│ │ ├── ascii-art.js
│ │ ├── base-tool.js
│ │ ├── color-palette.js
│ │ ├── image-resizer.js
│ │ ├── password-generator.js
│ │ ├── qr-code.js
│ │ ├── text-to-speech.js
│ │ ├── tools-manager.js
│ │ └── url-shortener.js
│ ├── templates/ # HTML templates
│ └── utils/ # Utility functions
├── pages/ # Tool pages
│ ├── ascii-art.html
│ ├── color-palette.html
│ ├── image-resizer.html
│ ├── password-generator.html
│ ├── qr-code.html
│ ├── text-to-speech.html
│ └── url-shortener.html
├── docs/ # Documentation
│ ├── API.md # API documentation
│ ├── FUTURE-FEATURES.md
│ ├── README.md # Main documentation
│ └── TECHNICAL.md # Technical documentation
├── index.html # Main entry point
├── package.json # Project dependencies
├── rollup.config.js # Build configuration
├── .eslintrc.json # ESLint configuration
├── .gitignore # Git ignore rules
├── CHANGELOG.md # Version history
├── CONTRIBUTING.md # Contribution guidelines
├── LICENSE # Project license
└── TO-DO.md # Project tasks
- Node.js 16+
- npm or yarn
- Modern web browser
npm run dev
: Start development servernpm run build
: Build for productionnpm run test
: Run testsnpm run lint
: Lint codenpm run validate
: Validate project structure
- Follow the established component structure in
js/components/
- Ensure accessibility features are implemented
- Add corresponding styles in
css/components/
- Include dark theme support
- Add tests in
js/components/__tests__/
- Fork the repository
- 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
See our Future Features document for planned improvements and upcoming tools.
This project is licensed under the MIT License - see the LICENSE file for details.
- Report bugs: Issue Tracker
- Request features: Feature Requests
- Join discussions: Discussions