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

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors