Skip to content

anand-106/Ticket_classifier_using_LangGraph

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Ticket Submission Portal

Introduction

This is a full-stack ticket submission portal application designed to streamline support requests. It allows users to submit tickets, which are then triaged and routed to the appropriate development team using a chatbot-like system powered by a language model (LLM). The application uses React for the frontend and FastAPI for the backend, with Auth0 handling authentication and authorization.

Key Features

  • Ticket Submission: Users can submit support tickets with detailed descriptions.
  • Intelligent Ticket Triage: An LLM-powered system automatically categorizes and routes tickets to the relevant team (React, Java, Python, SQL).
  • Role-Based Access Control: Access to features and API endpoints is controlled based on user roles (admin, developer, user) using Auth0.
  • Secure Authentication: Auth0 integration ensures secure authentication and authorization.
  • Detailed Ticket View: Displays comprehensive information for each ticket, including summary, technical analysis, suggested approach, and additional notes.
  • API-First Architecture: Backend built with FastAPI, providing a robust and well-documented API.
  • Modern Frontend: Developed with React and Tailwind CSS for a responsive and user-friendly interface.

Installation Guide

  1. Clone the repository:

    git clone <repository_url>
    cd <project_directory>
  2. Install backend dependencies:

    cd backend
    pip install -r requirements.txt
  3. Install frontend dependencies:

    cd frontend
    npm install
  4. Configure environment variables:

    • Create a .env file in both the backend and frontend directories.
    • Populate the .env file with the required variables (see Environment Variables section below).
  5. Run the FastAPI server:

    cd backend
    uvicorn main:app --reload
  6. Run the React frontend:

    cd frontend
    npm start

Usage

  • Frontend: Access the application in your browser at http://localhost:3000 (or the port specified in your React configuration). Log in using your Auth0 credentials.
  • API Endpoints: The backend provides REST API endpoints for ticket submission, retrieval, and status updates. Refer to the API reference (if available) for details. The frontend interacts with these API endpoints to manage tickets.
  • Role-Based Access: Different user roles have access to different features. For example, only admins can close tickets.

Environment Variables

The following environment variables are required:

Backend (.env):

  • AUTH0_DOMAIN: Auth0 domain.
  • AUTH0_CLIENT_ID: Auth0 client ID.
  • AUTH0_CLIENT_SECRET: Auth0 client secret.
  • AUTH0_API_IDENTIFIER: Auth0 API identifier.
  • MONGODB_URI: MongoDB connection string.
  • OPENAI_API_KEY: OpenAI API Key

Frontend (.env):

  • REACT_APP_AUTH0_DOMAIN: Auth0 domain.
  • REACT_APP_AUTH0_CLIENT_ID: Auth0 client ID.
  • REACT_APP_AUTH0_AUDIENCE: Auth0 audience.
  • REACT_APP_API_URL: URL of the backend API.

Project Structure

<Project Structure unavailable in code chunks>

Technologies Used

  • Backend: Python, FastAPI, MongoDB, LangChain
  • Frontend: React, Tailwind CSS, Auth0, Axios
  • Authentication: Auth0

Contribution Guide

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Make your changes and commit them with descriptive messages.
  4. Submit a pull request to the main branch.

Please follow the existing code style and include unit tests for any new functionality.

Support & Contact

If you encounter any issues or have questions, please open an issue on GitHub or contact the project maintainers directly.

License

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published