Skip to content

TicketScout is a ticket system for professionals in specialized tech domains, not just software teams. It simplifies ticketing with easy creation and updates using only a title and description. Its AI-powered semantic search understands ticket context, allowing intuitive searches without specific keywords.

License

Notifications You must be signed in to change notification settings

jonashonecker/TicketScout

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ticket Scout Logo

Simplifying Ticketing with AI-Driven Precision

Quality Gate Status Coverage Technical Debt Maintainability Rating Code Smells Duplicated Lines (%) Reliability Rating


Description

Welcome to TicketScout, where we revolutionize the ticketing experience with cutting-edge AI technology. Our platform simplifies the process of finding and managing tickets, leveraging MongoDB Atlas's powerful vector search and OpenAI's advanced text-embedding models to deliver precise, relevant search results.

Getting Started

Prerequisites

  • MongoDB Atlas account
  • GitHub account for OAuth authentication
  • OpenAI API key for text embeddings
  • Render Account for CI/CD deployment

Setup Guide

GitHub OAuth Configuration

  • Navigate to "Settings" > "Developer settings" > "OAuth Apps" in your GitHub account.
  • Click "New OAuth App", fill in the necessary details, and set http://localhost:8080/login/oauth2/code/github as the authorization callback URL.
  • After creation, note down the Client ID and Secret.

MongoDB Atlas Vector Search

  1. Cluster and Database Setup:

    • Sign up for MongoDB Atlas and create a cluster.
    • Create a TicketScout database and a tickets collection within it.
  2. Vector Search Index:

    • Navigate to the "Search" tab in your cluster's page.
    • Create a new search index named vector_index_titleAndDescription using the JSON Editor, with the following configuration:
      {
        "fields": [
          {
            "numDimensions": 3072,
            "path": "titleAndDescriptionEmbedding",
            "similarity": "cosine",
            "type": "vector"
          }
        ]
      }

Local Development

To start hacking, you need to set the following environment variables:

Name Description
OAUTH_GITHUB_ID The Client ID from your GitHub OAuth application, used for user authentication.
OAUTH_GITHUB_SECRET The Client Secret from your GitHub OAuth application, required for secure OAuth flows.
APP_URL The base URL where your application is accessible, crucial for OAuth redirects and service callbacks.
MONGODB_URI Your MongoDB Atlas connection string, enabling database access for your application.
OPENAI_EMBEDDING_BASE_URL The base URL for OpenAI's embedding API, facilitating text embedding operations for advanced search features.
OPENAI_API_KEY Your personal API key for accessing OpenAI services, necessary for utilizing AI-driven functionalities.

CI/CD Configuration

Efficiently manage your CI/CD pipelines by setting up a production environment on GitHub and configuring the necessary secrets. These secrets are crucial for automating your deployment process and ensuring secure access to your DockerHub account and Render deployment triggers.

Name Description
DOCKERHUB_USERNAME The username for your DockerHub account, used to authenticate with DockerHub in CI/CD scripts.
DOCKERHUB_PASSWORD The password for your DockerHub account, crucial for pushing and pulling Docker images securely.
DOCKERHUB_TAG The tag for your Docker image, typically specifying the version or environment. latest is recommended for continuous deployment.
RENDER_DEPLOY The URL or webhook to trigger deployment on Render, integrating your CI/CD pipeline with Render's hosting services.

Remember to also configure the environment variables from the "Local Development" section in your Render environment settings.

About

TicketScout is a ticket system for professionals in specialized tech domains, not just software teams. It simplifies ticketing with easy creation and updates using only a title and description. Its AI-powered semantic search understands ticket context, allowing intuitive searches without specific keywords.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published