Skip to content

GhostService/ShowFlow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ShowFlow - Theater Cue Management System

ShowFlow is a web-based collaborative cue management application for theaters, designed to replace spreadsheets with a more robust, user-friendly system. (yes this is almost 100% coded with chatgpt and cline, dont judge me)

Features

  • Multi-database support: Create separate databases for different shows
  • User Authentication: Secure access with user accounts
  • Password Protection: Optional passwords for sensitive show databases
  • Responsive Design: Works on desktops, tablets and mobile devices
  • Modern UI: Clean, intuitive interface with good organization
  • Collaborative: Multiple team members can access and update cues

Technical Stack

  • Backend: FastAPI (Python)
  • Database: SQLite with SQLAlchemy ORM
  • Frontend: HTML, CSS, JavaScript
  • Authentication: JWT-based token authentication
  • Security: Password hashing with bcrypt

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/ShowFlow.git
    cd ShowFlow
    
  2. Create and activate a virtual environment:

    python -m venv venv
    source venv/bin/activate  # On Windows, use: venv\Scripts\activate
    
  3. Install dependencies:

    pip install -r requirements.txt
    
  4. Run the application:

    uvicorn app.main:app --reload
    
  5. Open your browser and navigate to http://127.0.0.1:8000

Project Structure

ShowFlow/
├── app/
│   ├── __init__.py
│   ├── database.py       # Database connection and session management
│   ├── main.py           # FastAPI application and routes
│   ├── models.py         # SQLAlchemy data models
│   └── routes.py         # API route documentation
├── static/
│   ├── app.js            # Frontend JavaScript
│   └── style.css         # CSS styles
├── templates/
│   └── index.html        # Main HTML template
├── databases/            # Directory for show databases
├── requirements.txt      # Project dependencies
├── .gitignore
└── README.md

Usage

User Registration and Login

  1. Open the application in your browser
  2. Click "Sign Up" to create a new user account
  3. Log in with your credentials

Managing Shows

  1. After logging in, click "New Database" to create a new show database
  2. Enter the show name, optional description, and optional password
  3. Select your show from the dropdown to work with specific show cues

Managing Cues

  1. Fill out the "Add New Cue" form with cue number, description, and caller
  2. View all cues in the "Current Cues" table
  3. Use the search box and filters to find specific cues
  4. Edit or delete cues using the action buttons

API Documentation

The application provides a RESTful API for:

  • User authentication
  • Database management
  • Cue CRUD operations

For detailed API documentation, visit /docs when the application is running.

Future Improvements

  • Export/import functionality for cues
  • User roles and permissions
  • Real-time collaborative editing
  • Timeline view for cues
  • Mobile app version

License

MIT License

About

A live theatre cue management software based on python and javascript. Still in development, but beats using a spreadsheet. Made almost 100% with AI.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors