Skip to content
This repository was archived by the owner on Jul 22, 2025. It is now read-only.

c-wenlong/ticket-master

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

132 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ticket Master Frontend Documentation

Overview

Ticket Master is a comprehensive ticket management system built with Streamlit that allows users to create, manage, and track tickets in a Kanban-style interface. The application features multiple views including a home page, tickets overview, and a Kanban board.

Core Features

  • User authentication and role-based access control
  • Ticket creation with manual and AI-assisted options
  • Kanban board for visual ticket management
  • Detailed ticket overview with filtering capabilities
  • Editable ticket table with permission-based field access

Pages

1. Home Page (🏠_Home.py)

The landing page of the application that handles user authentication.

Key Features:

  • User login functionality
  • Session state initialization
  • Welcome message for logged-in users

Components:

  • Login form with name and email inputs
  • Session state management for user context

2. Tickets Overview (🎫_Tickets_Overview.py)

A comprehensive view of all tickets in the system with advanced filtering capabilities.

Key Features:

  • Ticket statistics dashboard
  • Multi-filter system
  • Editable ticket table
  • Admin controls

Components:

  • Statistics metrics:
    • Total tickets
    • High priority tickets
    • In-progress tickets
    • Assigned tickets
  • Filter panels:
    • Status filter
    • Priority filter
    • Assignee filter

3. Kanban Board (🎯_Kanban_Board.py)

A visual project management interface using the Kanban methodology.

Key Features:

  • Drag-and-drop ticket management
  • Visual status tracking
  • Ticket creation interface
  • AI-assisted ticket creation

Components:

  • Column-based status board
  • Ticket cards with priority coloring
  • Creation forms:
    • Manual ticket creation
    • AI-assisted ticket creation

Components

1. KanbanCard (card.py)

A visual representation of a ticket in the Kanban board.

Properties:

  • Title
  • Description
  • Type
  • Priority (with color coding)
  • Status
  • Assignee
  • Labels
  • Movement controls

Styling:

Colors:
- High Priority: #ff6b6b
- Medium Priority: #ffd93d
- Low Priority: #6bff6b

2. Ticket Form (form.py)

Form component for creating new tickets.

Fields:

  • Title (required, max 100 chars)
  • Description (required)
  • Type (Task/Bug/Feature)
  • Status
  • Priority
  • Assignee
  • Parent Ticket ID
  • Labels

Validation:

  • Required field checking
  • Title length validation
  • Empty string prevention

3. KanbanBoard (kanban.py)

Main component for the Kanban view implementation.

Features:

  • Column-based layout
  • Ticket filtering
  • Drag-and-drop functionality
  • Ticket count per column
  • Delete functionality

4. TicketTable (table.py)

Component for detailed ticket management and editing.

Features:

  • Role-based field editing
  • Bulk update capability
  • Field-level permissions
  • Change tracking
  • Metadata display

User Roles and Permissions

Admin

  • Full access to all ticket fields
  • Can edit parent ticket IDs
  • Can modify any ticket status

Ticket Assignee

  • Can edit ticket status
  • Can modify ticket description
  • Can update assigned tickets

General User

  • Can view all tickets
  • Can edit public fields
  • Can add/modify labels

State Management

The application uses Streamlit's session state for managing:

  • User authentication
  • Current user context
  • Ticket data
  • Form visibility
  • Pending changes

Interface Guidelines

Colors

  • Priority-based coloring for visual identification
  • Consistent use of Streamlit's default theme
  • Clear visual hierarchy

Layout

  • Responsive design using Streamlit's column system
  • Consistent spacing and padding
  • Clear section separation

Components

  • Consistent button styling
  • Uniform card appearances
  • Standard form layouts

Error Handling

The application implements error handling for:

  • Invalid form submissions
  • Failed ticket operations
  • Authentication errors
  • Data validation issues

Best Practices

  1. State Management

    • Initialize all state variables at startup
    • Use consistent state access patterns
    • Clear state appropriately
  2. User Interface

    • Maintain consistent spacing
    • Use clear, descriptive labels
    • Provide feedback for all actions
  3. Error Handling

    • Display clear error messages
    • Prevent invalid state transitions
    • Maintain data integrity
  4. Performance

    • Optimize state updates
    • Minimize unnecessary rerenders
    • Use efficient data structures

Known Limitations

  1. No persistent storage implementation
  2. Limited to single-session state
  3. Basic authentication system
  4. No real-time updates

Future Enhancements

  1. Database integration
  2. Real-time collaboration features
  3. Advanced filtering capabilities
  4. Enhanced AI ticket generation
  5. Ticket templating system

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors