because I got bored of customising my CV for every job
README.md

API Documentation#

This section contains comprehensive documentation for the CV Generator API.

Overview#

The CV Generator API is built with NestJS and GraphQL, providing a type-safe and efficient way to interact with the application's data.

API Structure#

GraphQL Endpoint#

  • URL: /graphql
  • Method: POST
  • Content-Type: application/json

Authentication#

The API uses JWT-based authentication. Include the token in the Authorization header:

Authorization: Bearer <your-jwt-token>

Core Modules#

Authentication#

  • Login - User authentication
  • Register - User registration
  • Me - Current user information

Job Experience#

  • Companies - Company management
  • Roles - Job role management
  • Levels - Experience level management
  • Skills - Skill management
  • User Job Experience - User's employment history

Organizations#

  • Organization Management - Organization CRUD operations
  • User-Organization Relationships - Membership management

Vacancies#

  • Vacancy Management - Job posting management

Pagination#

The API supports cursor-based pagination for efficient data loading:

query Skills($first: Int, $after: String, $searchTerm: String) {
  skills(first: $first, after: $after, searchTerm: $searchTerm) {
    edges {
      cursor
      node {
        id
        name
        description
      }
    }
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
    }
    totalCount
  }
}

Error Handling#

The API returns structured error responses:

{
  "errors": [
    {
      "message": "Error description",
      "extensions": {
        "code": "ERROR_CODE",
        "exception": {
          "stacktrace": ["..."]
        }
      }
    }
  ]
}

Health Check#

Monitor API health with the health endpoint:

query Health {
  health {
    status
    timestamp
    timezone
    uptime
  }
}