Skip to content

TypeScript library powering CurlsBot's haircare product analysis engine, featuring ingredient validation, automated data management, and comprehensive testing infrastructure

Notifications You must be signed in to change notification settings

melissamcewen/curlsbotAPI

Repository files navigation

CurlsBot API

codecov

A TypeScript library for analyzing haircare product ingredients, powering CurlsBot. This API serves as the backend engine for ingredient analysis, providing detailed insights into haircare product compositions.

🚀 Technical Stack

  • Language: TypeScript
  • Build System: Vite
  • Testing Framework: Vitest with coverage reporting
  • Type Checking: TSC (TypeScript Compiler)
  • API Documentation: Microsoft API Extractor & TSDoc
  • Code Quality:
    • ESLint for code linting
    • Strict TypeScript configuration
    • Comprehensive test coverage
    • Knip for dependency analysis

🛠️ Architecture

The project is structured as a modern TypeScript library with:

  • Module-based architecture (ES Modules)
  • UMD and ES bundle outputs
  • Type definitions generation
  • Automated data bundling and validation
  • CLI tools for data management

🔍 Key Features

  • Ingredient analysis engine
  • Data validation and normalization tools
  • Automated database management
  • Export/import functionality for ingredients
  • Reference conversion utilities
  • Type-safe API design

🧪 Testing Philosophy

  • Comprehensive test suite including:
    • Unit tests
    • End-to-end (e2e) tests
    • Integration tests
  • Coverage reporting
  • Test UI for development
  • Automated validation pipelines

🔧 Development Tools

  • Data Management:
    • CSV parsing and generation
    • JSON schema validation
    • Automated data bundling
  • Code Quality:
    • TypeScript for type safety
    • ESLint for code style
    • Automated validation scripts
    • Dependency analysis

📦 Installation

npm install haircare-ingredients-analyzer

📄 License

MIT


This library serves as the engine for CurlsBot, a website that analyzes haircare products and provides recommendations.

About

TypeScript library powering CurlsBot's haircare product analysis engine, featuring ingredient validation, automated data management, and comprehensive testing infrastructure

Resources

Stars

Watchers

Forks