Skip to content

iam-sandipmaity/SnapTools

Repository files navigation

SnapTools 🛠️

Live Demo License Made with React TypeScript PRs Welcome

SnapTools is a comprehensive all-in-one web application that provides 100+ free tools for creators, developers, students, and productivity enthusiasts. Built with modern web technologies, it offers a seamless and efficient user experience with no ads, no tracking, and blazing-fast performance.

🔗 Live Demo | 📖 Documentation | 🐛 Report Bug | ✨ Request Feature

✨ Features

Tool Categories

  • Image Tools: Image conversion, compression, and manipulation
  • PDF Tools: Split, merge, and convert PDF files
  • Calculator Tools: Advanced calculations and conversions
  • Conversion Tools: Binary, text, and number format conversions
  • Code Tools: Code formatting and analysis
  • QR Tools: Generate and scan QR codes
  • Password & Text Tools: Password generation and text manipulation
  • Color & Design Tools: Color picker, converter, and design utilities
  • Unit Tools: Unit conversion across various measurements
  • Network Tools: URL encoding/decoding and network utilities
  • YouTube Tools: YouTube video utilities
  • SEO & Web Tools: Website screenshots and SEO analysis
  • Miscellaneous Tools: Additional utility tools

Key Features

  • 50+ Essential Tools in One Platform
  • Modern, Responsive UI with Dark Mode Support
  • No Ads or Tracking
  • Fast Performance
  • Accessible Design
  • Mobile-First Approach

🚀 Tech Stack

Frontend

  • Framework: React 18 with TypeScript
  • Build Tool: Vite 5.x (Lightning-fast HMR)
  • UI Components: shadcn/ui (Radix UI primitives)
  • Styling: Tailwind CSS 3.x
  • Animation: Framer Motion
  • State Management: React Hooks & Context API
  • Routing: React Router v6
  • Icons: Lucide React

Development Tools

  • Code Quality: ESLint, Prettier
  • Type Safety: TypeScript 5.x
  • Package Manager: npm/yarn/pnpm
  • Version Control: Git

UI Components & Libraries

  • Custom animated components
  • Responsive dialog boxes
  • Interactive tooltips
  • Accessible form elements
  • Modern card layouts
  • Dark mode support

🚦 Getting Started

Prerequisites

  • Node.js (v18.x or higher recommended)
  • npm (v9.x or higher) or yarn or pnpm package manager
  • Git

Installation

  1. Clone the repository
git clone https://github.com/iam-sandipmaity/SnapTools.git
cd SnapTools
  1. Install dependencies
npm install
# or
yarn install
# or
pnpm install
  1. Start the development server
npm run dev
# or
yarn dev
# or
pnpm dev

The application will be available at http://localhost:5173

  1. Build for production
npm run build
# or
yarn build
# or
pnpm build
  1. Preview production build
npm run preview
# or
yarn preview
# or
pnpm preview

📊 Project Structure

src/
├── components/     # Reusable UI components
│   ├── tools/     # Tool-specific components
│   ├── ui/        # Common UI components (shadcn/ui)
│   └── seo/       # SEO components
├── data/          # Static data and configurations
├── hooks/         # Custom React hooks
├── lib/           # Utility functions and helpers
├── pages/         # Page components
├── sections/      # Page sections and layouts
├── services/      # API and external services
├── types/         # TypeScript type definitions
└── utils/         # Utility functions

⚡ Performance Features

  • Code Splitting: Automatic route-based code splitting
  • Lazy Loading: Components and images loaded on demand
  • Optimized Bundle: Tree-shaking and minification
  • Fast Refresh: Instant feedback during development
  • SEO Optimized: Meta tags, structured data, sitemap
  • Progressive Web App: Offline support and installability

🌐 Deployment

The application is deployed on Vercel and accessible at https://snaptools.sandipmaity.me

Deploy Your Own

Deploy with Vercel

Or deploy to other platforms:

  • Netlify: npm run build → Deploy dist folder
  • GitHub Pages: Configure GitHub Actions workflow
  • Cloudflare Pages: Connect repository and deploy

🤝 Contributinging

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Development Guidelines

  • Follow the existing code style and conventions
  • Write meaningful commit messages
  • Update documentation for new features
  • Add appropriate TypeScript types
  • Ensure accessibility compliance (WCAG 2.1 AA)
  • Test across different browsers and devices
  • Optimize for performance

📄 License

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

🙏 Acknowledgments

📧 Contact

Sandip Maity - @iam-sandipmaity

Project Link: https://github.com/iam-sandipmaity/SnapTools

Live Demo: https://snaptools.sandipmaity.me


Built with ❤️ by the SnapTools team
⭐ Star us on GitHub — it helps!

About

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages