GDE
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
ajax
cache
classes
common
errors
proxies
vendor
views
web
.gitattributes
.gitignore
.htaccess
CREDITS.md
LICENSE
README.md
cli-config.php
composer.json
favicon.gif
favicon.ico
index.php

README.md

Pré-Requisitos

  • Apache 2.4 ou mais novo;
    • Módulo mod_rewrite ativado;
    • Configuração AllowOverride definida como All;
  • PHP 5.6.36 ou mais novo (recomendável o uso do PHP 7.2);
    • Extensão mysql_pdo;
    • Extensão mbstring;
    • Extensão curl;
    • Extensão GD;
  • MySQL 5.6.4 ou mais novo (recomendável o uso do MySQL 5.7) ou MariaDB 10.0.5 ou mais novo;
    • InnoDB ativado com suporte a Full Text Indexes

Instalação

  1. Instale o Composer de getcomposer.org;
  2. Acesse a pasta raiz do projeto e rode o comando composer install;
  3. Copie o arquivo common/config-sample.inc.php para common/config.inc.php;
  4. Edite o arquivo common/config.inc.php com os dados apropriados. As partes mais importantes que devem ser alteradas são as relacionadas ao banco de dados (DB) e à URL base do sistema;
  5. Baixe o arquivo gde_pacote.zip e descompacte-o;
  6. Importe o arquivo gde_pacote.sql com o comando mysql -u USUARIO -p BANCO < gde_pacote.sql no qual USUARIO é seu usuário no MySQL e BANCO é o nome do banco de dados configurado no passo 4. Esta importação irá demorar algum tempo, então tenha paciência;
  7. Rode o comando vendor/bin/doctrine orm:schema-tool:update --force para ter certeza que as tabelas estão atualizadas.

Configurando a API do Google

  1. Ative a API (https://console.developers.google.com)
  2. Vá para a página de credenciais.
  3. Nas opções da tela de consentimento OAuth colocar o nome para ser exibido.
  4. Nas opções de Credenciais preencher:
  5. Fazer download do JSON com as credenciais e colocar na pasta.

Sobre os dados no pacote

  • Utilize o login login1
  • Todos os usuários possuem a senha gde42
  • Todos os dados de alunos e usuários são fictícios
  • O pacote possui alguns dados dos catálogos 2007 e 2016
  • Por questões de tamanho, apenas alguns cursos, modalidades, disciplinas e oferecimentos estão presentes

Sobre este projeto

P: Este é o GDE "de verdade"?
R: Sim. A versão 2.5 substituiu a 2.3 no dia 22/12/2017.

P: Qual a diferença entre a versão 2.3 e a 2.5?
R: Em termos de funcionalidades: "avisos", "fóruns", "grupos" e "oportunidades" foram removidos (não eram utilizados). Em termos de backend: a versão 2.3 foi escrita entre 2009 e 2012, e contém código antigo, desatualizado, potencialmente inseguro e, sinceramente, às vezes vergonhoso. Nenhuma biblioteca ou framework foi utilizada, foi tudo feito do zero. Na versão 2.5 foi tudo reescrito para utilizar o ORM Doctrine. Além disso, a versão 2.5 suporta disciplinas com a mesma sigla e níveis diferentes, cursos com o mesmo número e níveis diferentes e oferecimentos com mais de um professor ou com turmas com mais de 2 caracteres, além de várias outras correções menores.

P: Cadê o chat?
R: O chat da forma como foi escrito consumia muitos recursos de CPU e memória do servidor, então ele não será levado para a versão 2.5, no entanto buscaremos uma alternativa mais moderna para as próximas versões.

P: Onde encontro o código dos crawlers / robôs que pegam os dados?
R: Por requisição da DAC, essa parte do código não será disponibilizada.

P: Por que isso foi feito?
R: Porque eu acredito que a comunidade de alunos (e ex-alunos) da Unicamp podem colaborar com o projeto, e levá-lo muito mais longe do que eu e meus amigos que me ajudaram somos capazes, por questões de tempo, conhecimento, ideias, etc.

P: Posso colaborar?
R: Sim, por favor! Faça fork e envie seu pull request!

P: Como posso ajudar?
R: Depende:

  • Se você sabe programar em PHP, fique a vontade para corrigir um problema ou criar uma nova feature. Seu pull request será analisado com carinho!
  • Se você é designer, crie um novo layout mais moderno (quem sabe, responsivo) para o GDE, ou melhore o atual, e envie seu pull request.
  • Se você não se encaixa em nenhuma das opções anteriores, envie sugestões ou problemas encontrados criando uma Issue.