Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions offers/microservice-catalog/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Microservice Catalog

Welcome to the **Microservice Catalog**. This directory contains a collection of 5 small, technical services designed to be delivered in a single session. These services are optimized for efficiency, clarity, and immediate value for technical projects.

## Included Services

1. **README Polish**: Improve the clarity, structure, and professional appearance of your project's main documentation.
2. **API Docs QA**: Identifying inconsistencies between your OpenAPI specification and the actual API behavior.
3. **JSON Schema Cleanup**: Optimizing and validating JSON schemas for better data integrity.
4. **Broken Link Sweep**: A comprehensive scan of your documentation or website to find and report dead links.
5. **Security Headers & Web Config Review**: A quick audit of your web server's security headers and basic configuration.

## Catalog Files

- [**listings.json**](./listings.json): The machine-readable catalog containing service details, pricing, and schemas.
- [**sample-deliverables.md**](./sample-deliverables.md): Examples of what the input and output look like for each service.

## Usage

Each service defines an `input_schema` and an `output_schema` in `listings.json`. To request a service, ensure your input data matches the required schema. Deliverables will follow the structure defined in the `output_schema`.

---
*Note: All prices are suggested in USDC/USD. These services are designed for quick turnaround and specific technical tasks.*
144 changes: 144 additions & 0 deletions offers/microservice-catalog/listings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
[
{
"id": "readme-polish",
"title": "README Polish",
"price_suggestion": "50 USDC",
"turnaround": "24 hours",
"input_schema": {
"type": "object",
"properties": {
"readme_url": { "type": "string", "description": "Link to the raw README.md file or repository" },
"project_goal": { "type": "string", "description": "Short description of what the project does" }
},
"required": ["readme_url"]
},
"output_schema": {
"type": "object",
"properties": {
"improved_readme": { "type": "string", "description": "The revised Markdown content" },
"changes_made": { "type": "array", "items": { "type": "string" } }
}
},
"out_of_scope": [
"Writing documentation for missing features",
"Creating complex diagrams",
"Translating to other languages"
]
},
{
"id": "api-docs-qa",
"title": "API Docs QA",
"price_suggestion": "75 USDC",
"turnaround": "48 hours",
"input_schema": {
"type": "object",
"properties": {
"openapi_spec_url": { "type": "string", "description": "URL to OpenAPI/Swagger JSON or YAML" },
"base_url": { "type": "string", "description": "Base URL for the API to test against" }
},
"required": ["openapi_spec_url"]
},
"output_schema": {
"type": "object",
"properties": {
"inconsistencies_found": { "type": "array", "items": { "type": "string" } },
"typo_fixes": { "type": "array", "items": { "type": "string" } },
"validation_report": { "type": "string" }
}
},
"out_of_scope": [
"Fixing bugs in the API code",
"Writing integration tests",
"Load testing"
]
},
{
"id": "json-schema-cleanup",
"title": "JSON Schema Cleanup",
"price_suggestion": "40 USDC",
"turnaround": "24 hours",
"input_schema": {
"type": "object",
"properties": {
"json_data": { "type": "object", "description": "A sample JSON object" },
"existing_schema": { "type": "object", "description": "Optional existing schema" }
},
"required": ["json_data"]
},
"output_schema": {
"type": "object",
"properties": {
"optimized_schema": { "type": "object" },
"validation_results": { "type": "array", "items": { "type": "string" } }
}
},
"out_of_scope": [
"Generating code from schema",
"Database migration scripts",
"Large-scale data cleaning"
]
},
{
"id": "broken-link-sweep",
"title": "Broken Link Sweep",
"price_suggestion": "30 USDC",
"turnaround": "12 hours",
"input_schema": {
"type": "object",
"properties": {
"target_url": { "type": "string", "description": "The website or documentation root URL" },
"depth": { "type": "integer", "description": "How many levels deep to crawl (default 2)" }
},
"required": ["target_url"]
},
"output_schema": {
"type": "object",
"properties": {
"broken_links": {
"type": "array",
"items": {
"type": "object",
"properties": {
"source": { "type": "string" },
"target": { "type": "string" },
"status": { "type": "integer" }
}
}
},
"total_links_scanned": { "type": "integer" }
}
},
"out_of_scope": [
"Fixing the broken links on the server",
"SEO analysis",
"Testing behind login walls"
]
},
{
"id": "web-config-review",
"title": "Security Headers & Web Config Review",
"price_suggestion": "100 USDC",
"turnaround": "48 hours",
"input_schema": {
"type": "object",
"properties": {
"domain": { "type": "string", "description": "The domain to inspect" }
},
"required": ["domain"]
},
"output_schema": {
"type": "object",
"properties": {
"header_score": { "type": "string" },
"missing_headers": { "type": "array", "items": { "type": "string" } },
"misconfigured_headers": { "type": "array", "items": { "type": "string" } },
"recommendations": { "type": "array", "items": { "type": "string" } }
}
},
"out_of_scope": [
"Penetration testing",
"Implementing changes in server config",
"SSL certificate issuance"
]
}
]
118 changes: 118 additions & 0 deletions offers/microservice-catalog/sample-deliverables.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
# Sample Deliverables

This document provides fictional sample deliveries for each service in the microservice catalog.

## 1. README Polish

**Input:**
- `readme_url`: `https://github.com/fictional-user/sample-project/blob/main/README.md`
- `project_goal`: "A simple command-line tool for tracking daily water intake."

**Output:**
```markdown
# HydroTrack 💧

HydroTrack is a lightweight command-line interface (CLI) tool designed to help you monitor and achieve your daily hydration goals.

## Features
- Quick logging of water intake.
- Daily progress visualization.
- Customizable daily goals.

## Installation
`npm install -g hydrotrack`

## Usage
`hydrotrack add 500ml`
```

**Changes Made:**
- Added professional title and emoji.
- Structured with clear headers.
- Included quick-start usage examples.

---

## 2. API Docs QA

**Input:**
- `openapi_spec_url`: `https://api.fictional-service.com/v1/openapi.json`
- `base_url`: `https://api.fictional-service.com/v1`

**Output:**
- **Inconsistencies Found:**
- `POST /users` documentation says it returns `201 Created`, but the server actually returns `200 OK`.
- Field `last_login` is documented as a `string` (date-time), but returns `null` when never logged in, which isn't specified in the schema.
- **Typo Fixes:**
- "retreive" corrected to "retrieve" in 3 endpoint descriptions.
- **Validation Report:** OpenAPI 3.0.1 validation passed with 2 warnings.

---

## 3. JSON Schema Cleanup

**Input:**
- `json_data`:
```json
{
"user_id": 101,
"username": "jdoe",
"meta": {
"signup_date": "2023-01-01",
"flags": [1, 0, 1]
}
}
```

**Output:**
- **Optimized Schema:**
```json
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"user_id": { "type": "integer" },
"username": { "type": "string", "minLength": 3 },
"meta": {
"type": "object",
"properties": {
"signup_date": { "type": "string", "format": "date" },
"flags": { "type": "array", "items": { "type": "integer", "enum": [0, 1] } }
}
}
}
}
```
- **Validation Results:** Input data matches the optimized schema perfectly.

---

## 4. Broken Link Sweep

**Input:**
- `target_url`: `https://docs.fictional-project.io`
- `depth`: 2

**Output:**
- **Broken Links:**
- Source: `https://docs.fictional-project.io/intro` -> Target: `https://docs.fictional-project.io/setup-guide` (Status: 404)
- Source: `https://docs.fictional-project.io/footer` -> Target: `https://twitter.com/old_account_link` (Status: 404)
- **Total Links Scanned:** 142

---

## 5. Security Headers & Web Config Review

**Input:**
- `domain`: `https://secure-app.fictional-fintech.com`

**Output:**
- **Header Score:** B-
- **Missing Headers:**
- `Content-Security-Policy`
- `Permissions-Policy`
- **Misconfigured Headers:**
- `X-Frame-Options`: Set to `ALLOWALL`, should be `SAMEORIGIN` or `DENY`.
- **Recommendations:**
- Implement a basic CSP to mitigate XSS.
- Set `Strict-Transport-Security` with a longer max-age (current is only 3600).