GithubHelp home page GithubHelp logo

cinepuc's Introduction

Projeto de Reserva de Assentos

Autores, descrição e requisitos

Este é um projeto desenvolvido pelos alunos Vinicius Penido, Vinicius Assis, João Henrique, Matheus Boletta, Guilherme Andrade e Felipe Mareca, com o objetivo de criar um sistema de reserva de assentos para sessões de filmes. O projeto é dividido em duas partes principais: a interface e o backend. Usamos arquivos para armazenar os ingressos comprados e também usamos Listas encadeadas para armazenar informações na parte da interface.

Estrutura de Pastas

O projeto está divido em três pastas:

  1. backend:
    1. src: Esta pasta contém o arquivo binário com os cadastros dos usuários.

    2. lib: Esta pasta contém as funções auxiliares necessárias para o funcionamento do programa. Essas funções podem ser divididas em arquivos separados para facilitar a manutenção e modularidade do código.

    3. include: Esta pasta contém os arquivos de cabeçalho (.h) que definem os tipos e protótipos das funções utilizadas no projeto. Esses arquivos de cabeçalho devem ser incluídos nos arquivos que fazem uso das funções correspondentes.

  2. interface:
    1. InterfaceLogin: Esta pasta contém o arquivo principal do projeto, o main.c, onde roda toda a interface junto as funções do backend.
    2. assets: Esta pasta contém as imagens e fonte utilizada na interface.
  3. arquivos: Esta pasta contém o arquivo binário com as informações de login

Dependências

O projeto faz uso das seguintes dependências:

  • Linux (testamos no Ubuntu)
  • Clang ou GCC: Necessário para compilar o código
  • Ncurses: O projeto utiliza da biblioteca Ncurses para desenvolver a interface visual da tela de selecionar assentos.
  • SDL2, SDL2_image, SDL2_TTF: O projeto utiliza as bibliotecas SDL2 para desenvolver a interface visual da tela de login, cadastro, selecionar filme e selecionar horário.

Compilação e Execução

Para compilar o projeto, siga as instruções abaixo:

  1. Certifique-se de ter o Clang/GCC instalado em seu sistema.

  2. Instale as dependências do projeto:

    sudo apt-get install libsdl2-dev libsdl2-ttf-dev libsdl2-image-dev libncurses5-dev
  3. Navegue até a pasta raiz do projeto no terminal.

  4. Execute o seguinte comando para compilar o projeto:

    GCC:

    gcc interface/src/InterfaceLogin/main.c backend/lib/funcoesCadastro.c backend/lib/funcoesCarrinho.c -I backend/include -o CINEMA -lSDL2 -lSDL2_image -lSDL2_ttf -lncurses

    CLANG:

    clang -Wall interface/src/InterfaceLogin/main.c backend/lib/funcoesCadastro.c backend/lib/funcoesCarrinho.c -I backend/include -o CINEMA -lSDL2 -lSDL2_image -lSDL2_ttf -lncurses
  5. Após a compilação bem-sucedida, você pode executar o programa com o seguinte comando:

    ./CINEMA

Funcionamento do Programa

Ao executar o programa, você será apresentado à interface de reserva de assentos. O programa fornecerá as seguintes opções:

  1. Fazer seu cadastro e login: Você deverá inserir um usuário único e uma senha, estes dados serão utilizados para logar em sua conta. Logue-se para prosseguir.

  2. Escolher a sessão do filme: Você poderá selecionar a sessão desejada a partir de uma lista de sessões disponíveis.

  3. Escolher o horário da sessão: Você poderá selecionar o horário que deseja.

  4. Escolher um assento: Será exibida uma matriz representando a disposição dos assentos na sala de cinema. Você poderá escolher um assento disponível a partir desta matriz.

  5. Finalizar reserva: A reserva do assento será concluída, o assento será marcado como ocupado na matriz e as informações serão armazenadas no arquivo dentro da pasta arquivos.

Organização:

O projeto será dividido em dois grupos BACKEND:(Vinicius Penido, Felipe Mareca, Vinícius Assis, Mateus Boleta) FRONTEND:(Guilherme Andrade, João Henrique) O grupo do Backend será responsável pela lógica do programa e pelo banco de dados, já o grupo Frontend será responsável pela parte visual do programa.

*TODOS:

  • ~~Pitch de apresentação
  • ~~Construção do readme.md
  • Implementar Arquivos
  • Implementar cadastro
  • Implementar login
  • Implementar lista de assentos
  • Implementar interface de login
  • Implementar interface de cadastro
  • Implementar interface de assentos
  • Implementar mudança de cor de acordo com disponibilidade

cinepuc's People

Contributors

joao4xz avatar fmareca avatar viniciuscoassis avatar vinipenido avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Forkers

vinipenido

cinepuc's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.