{"id":30712326,"url":"https://github.com/jbouder/acolyte","last_synced_at":"2025-09-03T02:52:04.509Z","repository":{"id":307693245,"uuid":"1030024620","full_name":"jbouder/acolyte","owner":"jbouder","description":"An app designed to assist web developers in their day-to-day duties","archived":false,"fork":false,"pushed_at":"2025-08-31T19:26:42.000Z","size":480,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-31T21:24:04.119Z","etag":null,"topics":["nextjs","shadcn-ui","tailwind","vercel"],"latest_commit_sha":null,"homepage":"https://project-acolyte.vercel.app/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jbouder.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-01T01:10:08.000Z","updated_at":"2025-08-31T19:26:45.000Z","dependencies_parsed_at":"2025-08-24T11:22:23.417Z","dependency_job_id":null,"html_url":"https://github.com/jbouder/acolyte","commit_stats":null,"previous_names":["jbouder/web-tools","jbouder/acolyte"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/jbouder/acolyte","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbouder%2Facolyte","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbouder%2Facolyte/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbouder%2Facolyte/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbouder%2Facolyte/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jbouder","download_url":"https://codeload.github.com/jbouder/acolyte/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbouder%2Facolyte/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273381900,"owners_count":25095330,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-03T02:00:09.631Z","response_time":76,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["nextjs","shadcn-ui","tailwind","vercel"],"created_at":"2025-09-03T02:52:01.875Z","updated_at":"2025-09-03T02:52:04.489Z","avatar_url":"https://github.com/jbouder.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/jbouder/acolyte/main/public/logo.png\" alt=\"Acolyte Logo\" width=\"400\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/jbouder/acolyte/blob/main/LICENSE.md\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/license/jbouder/acolyte.svg\" alt=\"License\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/jbouder/acolyte/actions\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/jbouder/acolyte/code-quality.yml?branch=main\" alt=\"Build Status\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/jbouder/acolyte\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/stars/jbouder/acolyte?style=social\" alt=\"GitHub Stars\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/jbouder/acolyte/releases\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/v/release/jbouder/acolyte?include_prereleases\" alt=\"Latest Release\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eAcolyte\u003c/strong\u003e is a comprehensive web application designed to assist developers in their day-to-day duties. Whether you're testing APIs, analyzing applications, or utilizing essential development utilities, Acolyte provides all the tools you need in one powerful, user-friendly interface.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#features\"\u003eFeatures\u003c/a\u003e •\n  \u003ca href=\"#technology-stack\"\u003eTech Stack\u003c/a\u003e •\n  \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e •\n  \u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e •\n  \u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e\n\u003c/p\u003e\n\n## Features\n\n### 🧪 API Testing\n\n- **REST API Testing** - Comprehensive testing tools for RESTful APIs with support for multiple HTTP methods, custom headers, and request/response validation\n- **Server-Sent Events (SSE)** - Real-time event stream testing and monitoring\n- **WebSocket Testing** - Full-duplex communication testing with message history and connection status monitoring\n- **WebTransport Testing** - Modern transport protocol testing for low-latency applications\n\n### 📊 Analysis Tools\n\n- **Web Stats** - Provides detailed information about the current web client, including IP address, browser details, location, and system specifications\n- **Website Analysis** - In-depth analysis of web applications including security headers, performance metrics, and best practices\n- **Dependency Analysis** - Package.json analysis with vulnerability scanning, outdated package detection, and dependency tree visualization\n\n### 🔧 Development Utilities\n\n- **Base64 Encoder/Decoder** - Convert text and files to/from Base64 encoding with support for multiple formats\n- **JSON Formatter** - Beautify, validate, and minify JSON with syntax highlighting and error detection\n- **Regex Tester** - Test and debug regular expressions with real-time matching and explanation\n- **Color Picker** - Advanced color selection tool with support for HEX, RGB, HSL, and HSV color spaces\n- **JWT Decoder** - Decode and validate JSON Web Tokens with header and payload inspection\n- **Developer Notepad** - Persistent note-taking with markdown support and local storage\n\n### 🎮 Entertainment\n\n- **Snake Game** - Classic arcade game with modern controls and scoring\n- **Breakout** - Brick-breaking game with physics-based ball movement\n- **Sudoku** - Number puzzle game with multiple difficulty levels\n\n## Technology Stack\n\n### Frontend\n\n- **[Next.js 15.5.2](https://nextjs.org/)** - React framework with App Router for server-side rendering and routing\n- **[React 19.1.0](https://react.dev/)** - Modern React with latest features and performance improvements\n- **[TypeScript](https://www.typescriptlang.org/)** - Static type checking for enhanced developer experience\n- **[Tailwind CSS 4](https://tailwindcss.com/)** - Utility-first CSS framework for rapid UI development\n- **[Shadcn/UI](https://ui.shadcn.com/)** - High-quality, accessible component library\n\n### Development Tools\n\n- **[Jest](https://jestjs.io/)** - JavaScript testing framework with comprehensive test coverage\n- **[React Testing Library](https://testing-library.com/docs/react-testing-library/intro/)** - Simple and complete testing utilities\n- **[ESLint](https://eslint.org/)** - Code analysis and linting for consistent code quality\n- **[Prettier](https://prettier.io/)** - Code formatting for consistent style across the codebase\n\n### Storage \u0026 Data\n\n- **[IndexedDB](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API)** - Client-side storage for persistent data\n- **Local Storage** - Browser storage for user preferences and temporary data\n\n## Prerequisites\n\nBefore running Acolyte, ensure you have the following installed:\n\n- **Node.js** (version 20.x or higher)\n- **npm** (comes with Node.js)\n\n## Getting Started\n\n### Installation\n\n1. **Clone the repository**\n\n   ```bash\n   git clone https://github.com/jbouder/acolyte.git\n   cd acolyte\n   ```\n\n2. **Install dependencies**\n\n   ```bash\n   npm install\n   ```\n\n3. **Start the development server**\n\n   ```bash\n   npm run dev\n   ```\n\n4. **Open your browser**\n\n   Navigate to [http://localhost:3000](http://localhost:3000) to see the application.\n\n### Building for Production\n\nTo create an optimized production build:\n\n```bash\nnpm run build\nnpm start\n```\n\n## Usage\n\n### API Testing\n\n1. Navigate to the **APIs** section from the homepage\n2. Create multiple request tabs for different endpoints\n3. Configure HTTP methods, headers, and request bodies\n4. Send requests and analyze responses with syntax highlighting\n5. Save and load project configurations for reuse\n\n### Dependency Analysis\n\n1. Go to **Dependency Analysis** from the Analysis section\n2. Paste your `package.json` content into the editor\n3. Click \"Analyze Dependencies\" to get insights about:\n   - Total package count and categorization\n   - Security vulnerabilities\n   - Outdated packages\n   - Dependency tree visualization\n\n### Development Utilities\n\n- **JSON Formatter**: Paste JSON and get formatted, validated output\n- **Regex Tester**: Test patterns against sample text with real-time matching\n- **Base64 Tools**: Encode/decode text and files\n- **Color Picker**: Select colors and get values in multiple formats\n\n## Project Structure\n\n```\nacolyte/\n├── app/                    # Next.js App Router pages\n│   ├── api/               # API route handlers\n│   ├── apis/              # REST API testing interface\n│   ├── base64/            # Base64 encoding/decoding tool\n│   ├── color-picker/      # Color selection utility\n│   ├── dependency-analysis/# Package analysis tool\n│   ├── games/             # Browser games\n│   ├── json-formatter/    # JSON formatting utility\n│   ├── jwt/               # JWT decoder tool\n│   ├── notepad/           # Developer notepad\n│   ├── regex/             # Regular expression tester\n│   ├── sse/               # Server-Sent Events testing\n│   ├── web-stats/         # Website statistics analyzer\n│   ├── websockets/        # WebSocket testing interface\n│   └── webtransport/      # WebTransport testing tool\n├── components/            # Reusable React components\n├── lib/                   # Utility functions and helpers\n├── public/                # Static assets\n└── __tests__/             # Test files\n```\n\n## Development\n\n### Code Quality\n\nAcolyte maintains high code quality standards with comprehensive tooling:\n\n```bash\n# Run all tests\nnpm run test\n\n# Lint code and auto-fix issues\nnpm run lint\n\n# Format code with Prettier\nnpm run format\n\n# Check formatting without making changes\nnpm run format:ci\n\n# Lint code without auto-fixing (CI mode)\nnpm run lint:ci\n```\n\n### Testing\n\nThe project includes comprehensive test coverage:\n\n- **Unit Tests**: Testing individual components and utilities\n- **Integration Tests**: Testing component interactions\n- **Coverage**: 82.65% statement coverage with 79 passing tests\n\n### Contributing\n\nWe welcome contributions to Acolyte! Here's how you can help:\n\n1. **Fork the repository** on GitHub\n2. **Create a feature branch** from `main`\n   ```bash\n   git checkout -b feature/your-feature-name\n   ```\n3. **Make your changes** and ensure tests pass\n4. **Run code quality checks**\n   ```bash\n   npm run test\n   npm run lint\n   npm run format\n   ```\n5. **Commit your changes** with descriptive messages\n6. **Push to your fork** and create a Pull Request\n\n#### Development Guidelines\n\n- Use TypeScript for all new code\n- Follow the existing code style (enforced by ESLint and Prettier)\n- Write tests for new features and bug fixes\n- Use semantic commit messages\n- Update documentation when adding new features\n\n### Architecture Decisions\n\n- **Next.js App Router**: Provides server-side rendering and improved routing\n- **TypeScript**: Ensures type safety and better developer experience\n- **Tailwind CSS**: Enables rapid UI development with utility classes\n- **Jest + React Testing Library**: Comprehensive testing setup\n- **Component-based Architecture**: Promotes reusability and maintainability\n\n## License\n\nThis project is licensed under the Apache License 2.0 - see the [LICENSE.md](LICENSE.md) file for details.\n\n## Acknowledgments\n\n- Built with [Next.js](https://nextjs.org/) and [React](https://react.dev/)\n- UI components from [Shadcn/UI](https://ui.shadcn.com/)\n- Icons from [Lucide React](https://lucide.dev/)\n- Styling with [Tailwind CSS](https://tailwindcss.com/)\n\n---\n\n\u003cp align=\"center\"\u003e\n  Made with ❤️ for the developer community\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjbouder%2Facolyte","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjbouder%2Facolyte","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjbouder%2Facolyte/lists"}