AlgPedia
Algpedia é um um projeto open source.
Uma enciclopédia livre sobre algoritmos e implementações desenvolvida como projeto final de alunos da UFRJ (Thais Viana e Pablo Abdelhay)
Funcionalidades implementadas:
- Wiki
- Sistema de recomendação por reputação e confiança
- Extração de dados (web crawler)
- Tradução de base relacional para base semântica
- Buscas
- Sistema de tageamento
Instruções:
INSTALAÇÃO WINDOWS
- Download python 3.6, postgres, PG admin, gitHub, pip install
- Clonar projeto no cmd
git clone https://github.com/thaisviana/AlgPedia.git
- No cmd para instalar tudo o que é necessário:
Dentro do diretório onde foi clonado o git, crie um ambiente virtual
python -m venv env
Entre na pasta do projeto (ex: C:\Users\Name\Documents\GitHub\AlgPedia\env)
Ativar o ambiente virtual
C:\Users\Name\Documents\GitHub\AlgPedia> env\Scripts\activate
Instale tudo que for necessário
pip install -r requirements.txt
Confira o que está instalado e se tudo foi instalado corretamente
pip freeze
- Criar o banco de dados no PG admin (Add New Server)
- Guardar informações: nome do banco, senha do banco, nome de usuário e senha de usuário. Escreva essas informações em settings.py na sua máquina.
- Abra o prompt de comando. Entre na pasta da AlgPedia e ative o ambiente virtual.
- Rode as migrações ($python manage.py migrate). O seu banco passará a ter as informações da algpedia
- Crie um superusuário ($python manage.py createsuperuser)
- Rode o servidor localmente($python manage.py runserver) e acesse no navegador: http://127.0.0.1:8000/
INSTALAÇÃO LINUX (para distribuições debian-like)
- verifique que está usando python 3 mais recente
- crie uma virtualenv, indico usar o nome passado no comando a seguir:
$ pip install virtualenv
$ virtualenv venv
- instale o mariadb (mysql para linux) e o MySQL-python usando o package manager na sua distribuição linux em distribuições debian-like seria:
$ apt-get install mariadb-server mariadb-client
$ apt-get install libmysqlclient-dev python-dev
- Clonar projeto https://github.com/thaisviana/AlgPedia.git no GitHub Desktop
- cd na pasta do projeto
- source env-linux/bin/activate
- voltar para /home/baldus/cmartins/AlgPedia
- instalar pacotes que estao no arquivo requirements-linux.txt usando o pip (pip install -r requirements-linux.txt)
se a instalação falhar ao tentar instalar o pillow certifique-se da instalação do libjpeg. Em distribuições debian-like basta rodar:
$ apt-get install libjpeg62-turbo-dev
- pip freeze (só pra conferir o que está instalado)
- Para criar o banco de dados abra o arquivo local.py localizado em settings
- ache a definição dos DATABASES, ali estão as credenciais que serão usadas para conectar no banco
- com essas credenciais crie o usuario no mysql e de permissao
$ mysql -u root -p
grant all privileges on . to @localhost identified by '' with grant option;
- crie o banco de dados
create database AlgPedia;
- na pasta root do projeto migre o banco
$ python manage.py syncdb
Não se preocupe se ele reclamar que nao migrou o algorithm, faremos isso a seguir
$ python manage.py migrate
- Depois dessas etapas podemos iniciar o servidor
$ python manage.py runserver
acesse no navegador: http://127.0.0.1:8000/
Nosso trello: https://trello.com/b/P8TgPwjK/algpedia