Skip to content

jbouder/acolyte

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Acolyte Logo

License Build Status GitHub Stars Latest Release

Acolyte 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.

Features โ€ข Tech Stack โ€ข Getting Started โ€ข Usage โ€ข Contributing

Features

๐Ÿงช API Testing

  • REST API Testing - Comprehensive testing tools for RESTful APIs with support for multiple HTTP methods, custom headers, and request/response validation
  • Server-Sent Events (SSE) - Real-time event stream testing and monitoring
  • WebSocket Testing - Full-duplex communication testing with message history and connection status monitoring
  • WebTransport Testing - Modern transport protocol testing for low-latency applications

๐Ÿ“Š Analysis Tools

  • Web Stats - Provides detailed information about the current web client, including IP address, browser details, location, and system specifications
  • Website Analysis - In-depth analysis of web applications including security headers, performance metrics, and best practices
  • Dependency Analysis - Package.json analysis with vulnerability scanning, outdated package detection, and dependency tree visualization

๐Ÿ”ง Development Utilities

  • Base64 Encoder/Decoder - Convert text and files to/from Base64 encoding with support for multiple formats
  • JSON Formatter - Beautify, validate, and minify JSON with syntax highlighting and error detection
  • Regex Tester - Test and debug regular expressions with real-time matching and explanation
  • Color Picker - Advanced color selection tool with support for HEX, RGB, HSL, and HSV color spaces
  • JWT Decoder - Decode and validate JSON Web Tokens with header and payload inspection
  • Developer Notepad - Persistent note-taking with markdown support and local storage

๐ŸŽฎ Entertainment

  • Snake Game - Classic arcade game with modern controls and scoring
  • Breakout - Brick-breaking game with physics-based ball movement
  • Sudoku - Number puzzle game with multiple difficulty levels

Technology Stack

Frontend

  • Next.js 15.5.2 - React framework with App Router for server-side rendering and routing
  • React 19.1.0 - Modern React with latest features and performance improvements
  • TypeScript - Static type checking for enhanced developer experience
  • Tailwind CSS 4 - Utility-first CSS framework for rapid UI development
  • Shadcn/UI - High-quality, accessible component library

Development Tools

  • Jest - JavaScript testing framework with comprehensive test coverage
  • React Testing Library - Simple and complete testing utilities
  • ESLint - Code analysis and linting for consistent code quality
  • Prettier - Code formatting for consistent style across the codebase

Storage & Data

  • IndexedDB - Client-side storage for persistent data
  • Local Storage - Browser storage for user preferences and temporary data

Prerequisites

Before running Acolyte, ensure you have the following installed:

  • Node.js (version 20.x or higher)
  • npm (comes with Node.js)

Getting Started

Installation

  1. Clone the repository

    git clone https://github.com/jbouder/acolyte.git
    cd acolyte
  2. Install dependencies

    npm install
  3. Start the development server

    npm run dev
  4. Open your browser

    Navigate to http://localhost:3000 to see the application.

Building for Production

To create an optimized production build:

npm run build
npm start

Usage

API Testing

  1. Navigate to the APIs section from the homepage
  2. Create multiple request tabs for different endpoints
  3. Configure HTTP methods, headers, and request bodies
  4. Send requests and analyze responses with syntax highlighting
  5. Save and load project configurations for reuse

Dependency Analysis

  1. Go to Dependency Analysis from the Analysis section
  2. Paste your package.json content into the editor
  3. Click "Analyze Dependencies" to get insights about:
    • Total package count and categorization
    • Security vulnerabilities
    • Outdated packages
    • Dependency tree visualization

Development Utilities

  • JSON Formatter: Paste JSON and get formatted, validated output
  • Regex Tester: Test patterns against sample text with real-time matching
  • Base64 Tools: Encode/decode text and files
  • Color Picker: Select colors and get values in multiple formats

Project Structure

acolyte/
โ”œโ”€โ”€ app/                    # Next.js App Router pages
โ”‚   โ”œโ”€โ”€ api/               # API route handlers
โ”‚   โ”œโ”€โ”€ apis/              # REST API testing interface
โ”‚   โ”œโ”€โ”€ base64/            # Base64 encoding/decoding tool
โ”‚   โ”œโ”€โ”€ color-picker/      # Color selection utility
โ”‚   โ”œโ”€โ”€ dependency-analysis/# Package analysis tool
โ”‚   โ”œโ”€โ”€ games/             # Browser games
โ”‚   โ”œโ”€โ”€ json-formatter/    # JSON formatting utility
โ”‚   โ”œโ”€โ”€ jwt/               # JWT decoder tool
โ”‚   โ”œโ”€โ”€ notepad/           # Developer notepad
โ”‚   โ”œโ”€โ”€ regex/             # Regular expression tester
โ”‚   โ”œโ”€โ”€ sse/               # Server-Sent Events testing
โ”‚   โ”œโ”€โ”€ web-stats/         # Website statistics analyzer
โ”‚   โ”œโ”€โ”€ websockets/        # WebSocket testing interface
โ”‚   โ””โ”€โ”€ webtransport/      # WebTransport testing tool
โ”œโ”€โ”€ components/            # Reusable React components
โ”œโ”€โ”€ lib/                   # Utility functions and helpers
โ”œโ”€โ”€ public/                # Static assets
โ””โ”€โ”€ __tests__/             # Test files

Development

Code Quality

Acolyte maintains high code quality standards with comprehensive tooling:

# Run all tests
npm run test

# Lint code and auto-fix issues
npm run lint

# Format code with Prettier
npm run format

# Check formatting without making changes
npm run format:ci

# Lint code without auto-fixing (CI mode)
npm run lint:ci

Testing

The project includes comprehensive test coverage:

  • Unit Tests: Testing individual components and utilities
  • Integration Tests: Testing component interactions
  • Coverage: 82.65% statement coverage with 79 passing tests

Contributing

We welcome contributions to Acolyte! Here's how you can help:

  1. Fork the repository on GitHub
  2. Create a feature branch from main
    git checkout -b feature/your-feature-name
  3. Make your changes and ensure tests pass
  4. Run code quality checks
    npm run test
    npm run lint
    npm run format
  5. Commit your changes with descriptive messages
  6. Push to your fork and create a Pull Request

Development Guidelines

  • Use TypeScript for all new code
  • Follow the existing code style (enforced by ESLint and Prettier)
  • Write tests for new features and bug fixes
  • Use semantic commit messages
  • Update documentation when adding new features

Architecture Decisions

  • Next.js App Router: Provides server-side rendering and improved routing
  • TypeScript: Ensures type safety and better developer experience
  • Tailwind CSS: Enables rapid UI development with utility classes
  • Jest + React Testing Library: Comprehensive testing setup
  • Component-based Architecture: Promotes reusability and maintainability

License

This project is licensed under the Apache License 2.0 - see the LICENSE.md file for details.

Acknowledgments


Made with โค๏ธ for the developer community