trem

Trem 0.8.0

Consegui implementar três recursos principais que faltavam:

  • Renovar senha por e-mail (ainda não testado, pois não coloquei pra rodar em um servidor com IP e nome);
  • Download de todos os pacotes de uma só vez, por parte do gestor;
  • Ajuda em todas as telas.

Agora a lista de usuários está paginada. O número total de ítens por página é definido no arquivo de configuração do Trem. O modelo de paginação adotado é bem simples, só com até quatro links: primeiro, anterior, próximo e último.

Apesar de ter feito de forma meio modular essa paginação, só a lista de usuários está paginada até o momento. Depois pagino todas as outras listagens.

E ainda falta fazer aquelas coisas: melhorar o código, documentar o código... Talvez um Ajax no upload...

Melhorei o estilo dos formulários e acrescentei paginação para vagões e pacotes também.

Aproveitando, agora o administrador pode listar pacotes por usuário e vagões em geral (vendo de quem é cada vagão). Não é permitido editar vagões, mas dá pra abrir e fechar (isso de mais de uma pessoa abrir/fechar vagões leva à necessidade de um registro de modificações, tarefa para versões futuras...).

Special: 

Trem 0.4.0

Para quem não viu o início, Trem é uma aplicação web para facilitar coleta de trabalhos/provas em laboratório. Seu nome vem de uma metáfora: cada sessão de prova é tratada como um vagão e cada trabalho enviado é tratado como um pacote sendo depositado dentro do vagão.

Esta deve ser a primeira liberação do Trem que já pode ser utilizada, embora eu ainda não tenha testado com um conjunto de usuários. Tipo, todos os recursos realmente essenciais já estão implementados. A saber:

  • Controle de usuários
    • Cadastro de novo usuário feito pelo próprio usuário, sem intervenção
    • Dois tipos de usuário cadastrados: gestor e usuário normal, sendo que gestor pode lidar com vagões enquanto usuários normais podem enviar pacotes para vagões sob certas condições;
    • Um super-usuário. A única coisa que pode fazer no sistema é gerenciar outros usuários.
  • Controle de vagões
    • Usuários gestores podem criar vagões, definindo extensão dos arquivos a receber (pacotes);
    • Usuários gestores podem abrir ou fechar vagões (vagão aberto aceita pacotes, enquanto vagão fechado não) , bem como ter acesso a todos os pacotes depositados no vagão, em suas versões mais recentes;
  • Controle de pacotes
    • Usuários não-gestores podem depositar pacotes em vagões que estejam abertos;
    • Cada usuário comum pode enviar apenas um pacote por vagão;
    • Cada usuário pode substituir um pacote enviado por ele próprio para um vagão que ainda esteja aberto. O sistema diz quantas revisões foram feitas pelo usuário.

Embora a arquitetura da aplicação esteja realmente sofrível (depois de tentar usar horas vagas pra fazer aplicações simples de maneira complexa sem obter bons resultados - nestes casos as pausas atrapalham e o projeto anda muito devagar a ponto de desmotivar sua continuação -, resolvi mudar a estratégia), o sistema está funcional e cheio de validações para evitar sql injection ou coisas do tipo.

Sua instalação envolve criar um banco de dados e usuário em um MySQL, configurar o arquivo config.inc.php; criar uma pasta chamada files e dar permissão para que o usuário do Apache possa criar arquivos na pasta. Daí, crie o primeiro usuário usando a própria interface do Trem e coloque o seu e-mail (enquanto administrador) como o "root" no config.inc.php.

Detalhe: matrícula aqui segue padrão da UFAL no interior para alunos (4 dígitos + G + 4 dígitos) ou a matrícula SIAPE do Governo Federal.

Características desejadas para versões seguintes:

  • Opção para o gestor recolher um arquivo zip contendo todos os pacotes de um vagão;
  • Renovação de senha utilizando e-mail para quem esquecer a própria senha;
  • Escrever a ajuda de todas as páginas (painel lateral);
  • Melhorar o gerenciamento de usuários, já que o número de usuários tende a crescer muito no sistema.
Special: 

Trem 0.2.0

Trem já tem controle de usuários funcionando. Faltam quase todos os textos de ajuda, mais as funcionalidades que justificam o programa. Pelo menos, já permite login, cadastro e modificação de dados dos usuários pelo administrador... É para web, em PHP + MySQL sem qualquer framework.

Com vocês, uma tela pra que possam ver como está ficando esse trem... ;-)

Special: 
Subscribe to RSS - trem

Warning: PHP Startup: Unable to load dynamic library '/opt/php56/lib/php/extensions/no-debug-non-zts-20131226/pdo.so' - /opt/php56/lib/php/extensions/no-debug-non-zts-20131226/pdo.so: cannot open shared object file: No such file or directory in Unknown on line 0

Warning: PHP Startup: Unable to load dynamic library '/opt/php56/lib/php/extensions/no-debug-non-zts-20131226/pdo_mysql.so' - /opt/php56/lib/php/extensions/no-debug-non-zts-20131226/pdo_mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0

Warning: PHP Startup: Unable to load dynamic library '/opt/php56/lib/php/extensions/no-debug-non-zts-20131226/php_pdo_odbc.dll' - /opt/php56/lib/php/extensions/no-debug-non-zts-20131226/php_pdo_odbc.dll: cannot open shared object file: No such file or directory in Unknown on line 0