Giter Site home page Giter Site logo

estruturaaberta's People

Contributors

jamesperet avatar

Watchers

 avatar  avatar

estruturaaberta's Issues

Instalador

Criar um esquema de instalação para o sistema. De preferência algum jeito que não envolva codigo e seja bem simples.

Sistema de Tags

Funções para criar Tags, adiciona-las as páginas e visualizar lista de páginas por tags.

Atualizar o Twitter Bootstrap para versão 2.2.0

A nova versão tem varias coisas bacanas como o espaço para media-list (para criar comentarios ou outras listas de objetos mais elaboradas), um fixed footer e um layout com slideshow no topo bem bacana.

Redirecionamento de paginas sem extensão

Corrigir o redirecionamento de páginas via .htaccess quando é digitado uma URL sem a extensão ou sem uma / para informar que é um diretorio.
No momento quando se acessa uma URL como /teste, o servidor retorna um erro de pagina não encontrada.
Quando se acessa /teste/ o servidor redireciona para pagina correta.

Bug na primeira tag do sistema

A primeira tag a ser inserida no sistema fica dando problemas. Se você salvar a página sem modificar as tags, ele é apagada da página.

Sistema de busca

Criar sistema de busca que procura por uma plavara chave no titulo e contúdo das páginas e retorna os resultados em uma lista.

Configurações do usuário

Criar página para que o usuário possa modificar suas configurações e informações. Campos para mudar seu nome, sobrenome, email, senha e avatar.

Suporte para Markdown

Integrar o parser de Markdown na escrita das páginas.
O Markdown é uma linguagem em texto sem formatação, simples de escrever, que serve para formatar documentos complexos, convertendo o texto simples para HTML. Ela serve para estruturar documentos com titulos, subtitulos, links, listas e imagens em texto simples (TXT). Mais informações sobre a linguagem markdown em Daring Fireball.

Configurações do sistema

Página para configurações do sistema. Campos para mudar o nome do site e a página inicial. Apenas os administradores tem acesso a está página.

Privilegios do administrador

Criar variável para diferenciar usuários normais de administradores. Os administradores podem entrar na página de adminsitração do sistema e modificar configurações. Eles também podem transfmormar usuários em administrador (ou vice versa) alem de poderem deletar usuários.

Sistema de Login

Criar classe de usuário, função de login e sessão. Usuários logados podem criar/editar/deletar páginas. Usuários não cadastrados podem apenas ver as páginas sem ferramentas do sistema e não tem acesso a nenhuma página de configuração.

Editar e deletar Tags

Funções para editar o nome de uma tag e para deleta-la do sistema.

  • Botão para editar tag quando se está na página da tag. Esse botão abre uma nova página chamada edit_tag.php onde o usuário escreve um novo nome e salva.
  • Botão para deletar a tag.
  • Função no process.php para editar uma tag ou para deleta-la. Ao deletar uma tag, a função precisa deletar todas as ocorrencias dela ao longo do sistema.

Sistema de sign-up

Criar formulario de cadastro de usuários junto com todos os cheques para conferir se as informações estão corretas.

Melhorar o instalador

  • Tirar comandos SQL para criar o banco de dados do install.php e move-los para um arquivo externo.
  • Criar novas comandos SQL para tabelas de tags e media.
  • Funções para usar um banco de dados existente já instalado, criar um novo DB apartir de um arquivo (.sql) ou criar um novo banco de dados.

Media Tags

Modificar sistema de tags para adicionar medias alem de páginas. Modificar página de edição/upload de arquivos e a peagina que lista o resultado das tags para mostrar uma lista com páginas e imagens.

Upload de arquivos

Criar funções para upload de arquivos para o sistema. Página de upload, lista de arquivos e redirecionamento de URL.

Sistema de Temas

Estrutura no sistema para temas visuais. Os temas são criados em cima do Twitter Bootstrap e arquivos PHP representando cada tipo de página no sistema.

Objetivo

Simplificar o desenvolvimento de layouts para o sistema Estrutura Aberta.

Exemplo de hierarquia de arquivos:

Temas
    Minimal
        assets
            css
            js
            imgs
        index.php
        edit_page.php
        pages.php
        ...
   Redesigno
        assets
            css
            js
            imgs
        index.php
        edit_page.php
        pages.php
        ...

Funções de layout

Criação de funções que desenham partes do layout das páginas varias vezes. Ex: Menu de navegação e footer.

CRUD das Páginas

Escrever metodos na classe Page do sistema para criar, atualizar e deletar páginas. Criar também o arquivo "process.php" com as funções para executar o CRUD.

Lista de Usuários

Criar página para visualizar uma lista dos usuários cadastrados no sistema.

Lista de páginas

Criar página para visualizar uma lista de todas as páginas no sistema.

Estrutura de plugins

Criar a estrutura e as funções para lidar com plugins no sistema.
Os plugins funcionam como classes que são carregadas no sistema, se o plugin estiver ativo. Existem dois tipos de plugins:

  • Plugins de modulos de conteúdo - Adiciona um novo tipo de conteúdo no editor visual. Ex: player de audio, mapas, fluxogramas, graficos.
  • Plugins de sistema - Cria novos tipos de páginas com conteúdos e ferramentas próprias. Ex: páginas de produtos com sistema de checkout, páginas de peças com controle de estoque, páginas de projetos com ferramentas para coordenar a equipe.

Sistema de modulos de conteúdo

Criar sistema para separar o conteúdo das páginas em modulos de conteúdo que são reconstruidos em ordem depois ao carregar a página.

Modulos

  • Linha
  • Coluna
  • Paragrafo
  • Titulo
  • Imagem
  • Video
  • Audio
  • Botão
  • Tabela
  • Lista de Conteúdo
  • Citação

Editar e Deletar Media

Terminar de criar as funções para editar e deletar media.

  • Criar botão para deletar a atual media
  • Função no process.php para deletar a entrada no banco de dados e o arquivo na pasta uploads/.
  • Botão pra edição da atual media
  • Edição da página upload.php para carregar informações da atual media.
  • Criar função no process.php para modificar a atual media. Essa função precisa modificar as inforamções da media, checar se o usuario fez o upload de um novo arquivo, deletar o arquivo antigo e colocar o novo no lugar.

Função para enviar emails

Função para enviar email de notificação e outros serviços para os usuários e administradores do sistema. Algumas utilidades:

  • Enviar email quando um usuario se cadastra
  • Enviar notificação para o adminstrador que um usuário se cadastrou.
  • Função para recuperar uma senha perdida via email.
  • Função para notificar um usuário que uma das paginas que criou foi modificada.
  • Atualizações de conteúdo dentro do sistema em resumos semanais/mensais via email.

Subpáginas

O problema das wikis atuais é que elas tem apenas 1 nivel de páginas. Estou pensando em resolver isso criando subpáginas e coleções. Qualquer página pode ter uma subpágina. E dentro de uma página é possivel carregar um modulo de coleção que vai mostrar uma lista de páginas pré-definidas ou uma lista com todas as subpáginas de umá página especifica.
Essa parte do sistema tem que ser melhor definida antes de ser desenvolvida.

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.