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
  }
}