Skip to content

lancedabre/CINEHORIA

Repository files navigation


Cinehoria Logo

CINEHORIA

The Modern, Distraction-Free Screenwriting Tool

Key FeaturesTech StackGetting StartedShortcuts

Next.js TypeScript Supabase Tailwind Slate.js


🎬 About The Project

Cinehoria is a sleek, web-based screenplay editor designed for focus and creativity. Built to rival industry standards like Final Draft, it offers standardized screenplay formatting, real-time cloud sync, and a distraction-free "dark mode" environment.

Whether you're outlining your next blockbuster or drafting an indie short, Cinehoria keeps your formatting perfect so you can focus on the story.

First Image Second Image

Cinehoria Logo


✨ Key Features

  • 📝 Standardized Formatting: Automatically handles margins and styling for Scene Headings, Action, Characters, Dialogue, Parentheticals, and Transitions.
  • ☁️ Real-Time Cloud Save: Never lose a word. Typing syncs instantly to Supabase with smart debouncing.
  • 🔒 Race-Condition Proof: Advanced "One-Time Load" logic ensures your cursor never jumps and your data never gets wiped while typing.
  • 📄 PDF Export: Professional industry-standard PDF generation with proper fonts (Courier Prime) and layout.
  • ⌨️ Keyboard Shortcuts: Navigate and format without touching the mouse.
  • 📂 Local Import/Export: Save backups as JSON (.cinehoria) and load them back anytime.

Action Shortcut (Win) Shortcut (Mac)
Scene Heading Ctrl + 1 Cmd + 1
Action Ctrl + 2 Cmd + 2
Character Ctrl + 3 Cmd + 3
Dialogue Ctrl + 4 Cmd + 4
Parenthetical Ctrl + 5 Cmd + 5
Transition Ctrl + 6 Cmd + 6
Bold Ctrl + B Cmd + B
Italic Ctrl + I Cmd + I
Underline Ctrl + U Cmd + U

🛠️ Tech Stack


🚀 Getting Started

Follow these steps to run Cinehoria locally.

Prerequisites

  • Node.js 18+
  • A Supabase account

Installation

  1. Clone the repo
    git clone [https://github.com/yourusername/cinehoria.git](https://github.com/yourusername/cinehoria.git) cd cinehoria
  2. Install packages
    npm install
  3. Set up Environment Variables Create a .env.local file in the root directory:
    NEXT_PUBLIC_SUPABASE_URL=your_supabase_url NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
  4. Run the development server
    npm run dev
  5. Open your browser Navigate to http://localhost:3000 to start writing.

🗄️ Database Setup

This project uses Supabase.

  1. Create a new project on Supabase.
  2. Go to the SQL Editor in your Supabase dashboard.
  3. Copy the contents of the schema.sql file in this repository.
  4. Paste and run it to set up your tables and security policies.

🤝 Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

1. Fork the Project 2. Create your Feature Branch (git checkout -b feature/AmazingFeature) 3. Commit your Changes (git commit -m 'Add some AmazingFeature') 

📄 License

Distributed under the MIT License. See LICENSE for more information.

4. Push to the Branch (git push origin feature/AmazingFeature) 5. Open a Pull Request 

About

Cinehoria is a screenwriting software

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages