Quem sou eu

Rio de Janeiro, RJ, Brazil

quarta-feira, 30 de julho de 2008

Levantamento de Requisitos para o site novaamerica.com.br

Este documento foi elabado com o objetivo de amenizar o trabalho/tempo de modelagem do banco de dados do site http://novaamerica.com.br/.

Módulo Administrativo (Publicador)

Características gerais e Recomendações
O sistema deverá ser desenvolvido na linguagem PHP 5.2 ou superior e banco de dados MySQL 5.0.
Toda interação com o banco de dados deverá ser feita por meio de camada de abstração. Há algumas bem conhecidas como: DBX, PEAR::DB e PDO. Aconselhamos o uso da PDO, pois já vem compilada com o PHP e dá suporte a todos os bancos suportados pelo PHP, além de ser toda orientada a objeto e dar suporte a transações.
Futuramente, mudaremos o banco de dados para Postgresql, pois o MySQL já aparenta problemas com a quantidade de registros existentes.
É altamente recomendado que todos os arquivos do sistema estejam comentados, para futuras correções à partir da Binder.

O sistema fará uso de editor html wysiwyg. Para isso recomendamos o uso do TinyMCE ou FCKeditor. Ambos são cross-browser, open-source, configuráveis e de licença gratuita.
Com o passar do tempo, os editores poderão gerar uma grande quantidade e imagens no site, tornando difícil a busca por uma imagem ou mídia já cadastrada no sistema. Para isso recomendamos o uso de gerenciadores de mídia. Um exemplo real é o CKFinder. Sua licença é comercial com um valor de US$59 (cinquenta e nove dólares) para um único domínio.
  • Lojas

    • Cadastro
      • Nome da Loja: String
      • Telefone: String
      • Website: String
      • E-mail: String
        E-mail que a loja receberá no sistema para contato dos usuários do site diretamente com a loja, e para informativos internos do site.
      • Piso: Integer
      • Número: Integer
      • Segmento: Integer
        Segmento da loja. Exemplo: Vestuário Masculino, Confecção, Restaurante, etc. Sendo assim uma loja pode ter 1 ou vários segmentos (n:m).
      • Status: Boolean
        Irá determinar o status da loja no site, se ela irá aparecer no site ou não.
      • Nova Loja: Boolean
        Irá determinar se a loja é nova ou não. Caso esse campo seja verdadeiro a loja irá aparecer na seção "Lojas > Novas Lojas" e na listagem das lojas irá aparecer o texto "(Em breve)" logo à frente do nome da loja.
      • Logo: String
        Imagem da logo da loja. Poderá ser uma imagem do tipo gig, jpg ou png. O sistema deverá redimensionar a imagem na hora da exibição da mesma. Haverá um limite de tamanho de 1MB por cada imagem da logo. Essa imagem deverá ser enviada ao sistema por upload.
      • Data de Cadastro: DateTime
      • Rua do Rio: Boolean
    • Relatório
      • Campos de critéria e ordenamento: Nome da loja e Status
      • Ações: Alterar, Remover, Adicionar e Publicar
      • Paginação com 20 registros por página.
    • Segmento

      • Cadastro
        • Nome do Segmento
      • Relatório
        • Ações: Alterar, Remover e Adicionar
        • Paginação com 20 registros por página.
  • Promoções

    • Cadastro
      • Nome da promoção: String
      • Status: Boolean
        Irá determinar o status da promoção no site, se ela irá aparecer no site ou não.
      • Data de publicação: DateTime
        Informará ao sistema o dia e horário em que a promoção irá aparecer no site.
      • Data de saída: DateTime
        Informará ao sistema o dia e horário em que a promoção irá sair do site.
      • Imagem: String
        Imagem de ilustração da promoção. Poderá ser uma imagem do tipo gig, jpg ou png. O sistema deverá redimensionar a imagem na hora da exibição da mesma. Haverá um limite de tamanho de 1MB por cada imagem. Essa imagem deverá ser enviada ao sistema por upload.
      • HTML: String
        Receberá o código HTML da promoção à partir de um campo wysiwyg para criação/alteração do código.
      • Ordem: Interger
      • Rua do Rio: Boolean

    • Relatório
      • Campos de critéria e ordenamento: Nome da promoção, Ordem e Status
      • Ações: Alterar, Remover, Adicionar e Publicar
  • Cinema

    • Filmes

      • Cadastro
        • Nome do Filme: String
        • Gênero: Interger
        • Sala: Interger
        • Data de Início: DateTime
          Data em que o filme começará a ser exibido no cinema.
        • Data de saída: DateTime
          Data em que o filme sairá de cartaz.
        • Imagem: String
          Imagem de ilustração do filme. Poderá ser uma imagem do tipo gig, jpg ou png. O sistema deverá redimensionar a imagem na hora da exibição da mesma. Haverá um limite de tamanho de 1MB por cada imagem. Essa imagem deverá ser enviada ao sistema por upload.
        • Sinopse: String
          Receberá a Sinopse do filme.
        • Status: Boolean
        • Duração: DateTime
        • Sensura: String
        • Horários: String

      • Relatório
        • Campos de critéria e ordenamento: Nome do filme, Gênero, Sala, Período e Status
        • Ações: Alterar, Remover, Adicionar e Publicar
        • Paginação com 20 registros por página.
    • Sala

      • Cadastro
        • Nome da Sala
      • Relatório
        • Ações: Alterar, Remover e Adicionar
        • Paginação com 20 registros por página.
    • Gênero

      • Cadastro
        • Nome do Gênero
      • Relatório
        • Ações: Alterar, Remover e Adicionar
        • Paginação com 20 registros por página.
  • Novidades

    • Descrição do módulo
      Esse módulo, será responsável por gerenciar todas as chamadas (teasers) da função "Fique Ligado", localizada na página inicial do site. Essa função tem como objetivo mostrar ao usuário tudo o que foi atualizado no site recentemente. Exemplo: Ao cadastrarmos um novo evento no sistema, teremos que criar uma chamada para o mesmo, através deste módulo. Atualmente criamos uma página individual para cada evento, promoção ou aviso. No novo processo, faremos uma busca sobre tudo o que foi cadastrado recentemente no sistema e cadastraremos no módulo.

    • Cadastro
      • Título da chamada: String
      • Descrição: String
        Pequeno texto de introdução para as chamadas.
      • Link do Conteúdo: String
        Esse campo deverá ser gerado à partir de uma busca ou relatório dos conteúdos recentemente publicados no site, logo ele não deverá aparecer para o usuário e ser utilizado somente para armazenamento.
      • Data de publicação: DateTime
        Este campo terá o valor referente à mesma data de publicação do conteúdo solicitado. Exemplo: Ao criarmos uma chamada para o EventoX que tem a data de publicação para 07/09/2008 às 9:00, esse mesmo valor fará referência à data de publicação da chamada.
      • Data de saída: DateTime
        Este campo terá o valor referente à mesma data de saída do conteúdo solicitado. Exemplo: Ao criarmos uma chamada para o EventoX que tem a data de saída para 08/09/2008 às 10:00, esse mesmo valor fará referência à data de saída da chamada.
      • Status: Boolean
      • Ordem: Interger
        Valor que definirá a ordem em que a chamada aparecerá no site.
    • Relatório
      • Ações: Alterar, Remover e Adicionar
      • Paginação com 20 registros por página.
  • Eventos

    • Cadastro
      • Nome do Evento: String
      • Data do Evento (Início): DateTime
      • Data do Evento (Fim): DateTime
      • Descrição: String
      • Status: Boolean
        Irá determinar o status do evento no site, se ele irá aparecer no site ou não.
      • Rua do Rio: Boolean
    • Relatório
      • Campos de critéria e ordenamento: Nome do evento, Data do Evento e Status
      • Ações: Alterar, Remover, Adicionar, Publicar e Editar Fotos (Ver Galeria de Fotos)
      • Paginação com 20 registros por página.
  • Galeria de Fotos

    • Cadastro
      • Evento: Integer
        Receberá o evento que foi fotografado. Primeiro cadastra-se o evento para depois administra a galeria desse evento, logo, toda galeria depende de um evento (1:n).
      • Fotos: String
        As fotos da galeria serão enviadas por upload. O arquivo deverá ser do tipo .ZIP. O sistema descompactará esse arquivo na pasta de fotos de cada galeria. Só será permitido o descompactar arquivos do tipo gig, jpg ou png, sendo que esses arquivos não poderão conter mais que 2MB. No processo de descompactação do arquivo .ZIP, cada arquivo além de enviado para uma determinada pasta, deverá ser armazenado no banco de dados, para futuras interações do usuário com a foto. Exemplo: Enviar por e-mail, comentar, etc...
    • Relatório
      • Campos de critéria e ordenamento: Nome do evento, Data do Evento e Status
      • Ações: Alterar, Remover, Adicionar, Publicar
      • Paginação com 20 registros por página.
  • Área do Lojista

    • À definir
  • Centro Empresarial

    • À definir
  • Empregos

    • Igual ao módulo atual, adicionando apenas um campo de upload de currículo. O upload permitirá apenas arquivos do tipo .doc e .pdf


Daniel Lima A. Pinheiro
Programador Web
Binder FC+M Comunicação
(27) 2536-2255 - 9105-9674
Skype: yourwebmaker


Nenhum comentário: