OpenTickets é um sistema de gerenciamento de bilheteria de cinema, de código aberto, construído para ser prático e intuitivo. Ele oferece um painel administrativo completo e uma interface de vendas (totem) para facilitar a gestão do seu cinema.
O projeto é desenvolvido em Python, utilizando o micro-framework Flask para o backend, e HTML, CSS e JavaScript para o frontend. Os dados são armazenados de forma simples e direta em arquivos JSON.
O sistema é dividido em duas grandes áreas: o Totem de Venda e o Dashboard Administrativo.
Uma interface de vendas fluida e direta, projetada para totens de autoatendimento ou para o uso por funcionários no caixa.
- Página Inicial: Uma tela de boas-vindas que direciona o cliente para o fluxo de compra.
- Seleção de Filme: O cliente pode visualizar todos os filmes em cartaz e escolher o que deseja assistir.
- Escolha de Sala e Horário: Para o filme selecionado, o sistema exibe as salas e os horários disponíveis.

- Mapa Interativo de Assentos: Um mapa visual da sala é apresentado, permitindo que o cliente escolha seus lugares. Assentos já ocupados são mostrados como indisponíveis.

- Confirmação de Venda: Ao final, um resumo do pedido é exibido com os detalhes do filme, sala, assentos e o valor total, gerando um "ingresso" virtual.
A área de gerenciamento do sistema, acessada por meio de um login seguro, onde os administradores têm controle total sobre as operações.
- Login: Acesso à área administrativa com nome de usuário e senha. (não finalizado)
- Gerenciamento de Filmes:
- Adicionar: Cadastre novos filmes com título, duração, classificação indicativa, gênero e URL do pôster.
- Listar e Editar: Visualize todos os filmes cadastrados e edite suas informações a qualquer momento.
- Gerenciamento de Salas:
- Adicionar: Crie novas salas, definindo a quantidade de fileiras (linhas) e poltronas (colunas).
- Listar e Editar: Visualize os detalhes das salas, incluindo os filmes em exibição, e edite suas dimensões.
- Relatórios:
- Acesse relatórios de vendas diárias para acompanhar o faturamento e o número de ingressos vendidos.
- Veja um ranking de filmes mais populares com base no número de vendas.
- Python 3.x
- Flask
- Clone este repositório para a sua máquina local.
- Instale a única dependência (Flask) via pip:
pip install Flask
- Navegue até o diretório raiz do projeto.
- Execute o arquivo principal:
python main.py
- Página Inicial do Totem: Abra seu navegador e acesse
http://127.0.0.1:5000/. - Login do Administrador: Para acessar o painel administrativo, acesse
http://127.0.0.1:5000/adm/.- Usuário: adm
- Senha: adm
/
|-- main.py # Ponto de entrada da aplicação Flask
|-- data/
| |-- gerenciar_assentos.py # Lógica para gerenciar assentos
| |-- gerenciar_filmes.py # Lógica para gerenciar filmes
| |-- gerenciar_sala.py # Lógica para gerenciar salas
| |-- gerenciar_vendas.py # Lógica para registrar e calcular vendas
| |-- temp/ # Diretório que atua como "banco de dados"
| |-- assentos.json
| |-- filmes.json
| |-- salas.json
| |-- vendas.json
|-- routes/
| |-- adm.py # Rotas do painel administrativo
| |-- login.py # Rota da página inicial/login
| |-- vend.py # Rotas do totem de vendas
|-- static/
| |-- css/ # Arquivos de estilo (CSS)
| |-- img/ # Imagens
| |-- js/ # Arquivos de script (JavaScript)
|-- templates/
| |-- adm/ # Templates HTML para a área do ADM
| |-- vend/ # Templates HTML para o totem de vendas
| |-- index.html # Template da página inicial
`-- README.md # Este arquivo :)
- Backend: Python, Flask
- Frontend: HTML, CSS, JavaScript
- Banco de Dados: Arquivos JSON para persistência de dados.


