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)
- 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
- Backend: FastAPI (Python)
- Database: SQLite with SQLAlchemy ORM
- Frontend: HTML, CSS, JavaScript
- Authentication: JWT-based token authentication
- Security: Password hashing with bcrypt
-
Clone the repository:
git clone https://github.com/yourusername/ShowFlow.git cd ShowFlow -
Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows, use: venv\Scripts\activate -
Install dependencies:
pip install -r requirements.txt -
Run the application:
uvicorn app.main:app --reload -
Open your browser and navigate to http://127.0.0.1:8000
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
- Open the application in your browser
- Click "Sign Up" to create a new user account
- Log in with your credentials
- After logging in, click "New Database" to create a new show database
- Enter the show name, optional description, and optional password
- Select your show from the dropdown to work with specific show cues
- Fill out the "Add New Cue" form with cue number, description, and caller
- View all cues in the "Current Cues" table
- Use the search box and filters to find specific cues
- Edit or delete cues using the action buttons
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.
- Export/import functionality for cues
- User roles and permissions
- Real-time collaborative editing
- Timeline view for cues
- Mobile app version
MIT License