Início rápido

Manutenibilidade https://codecov.io/gh/ejplatform/ej-server/branch/master/graph/badge.svg https://gitlab.com/ejplatform/ej-server/badges/master/pipeline.svg

Plataforma EJ

Você pode visitar o site EJ em http://ejplatform.org.

Começando

Primeiro clone do repositório:

$ git clone http://github.com/ejplatform/ej-server/
$ cd ej-server

Se você usar o Docker, você pode iniciar rapidamente o servidor de desenvolvimento usando os comandos:

$ pip3 install invoke --user
$ inv docker-build
$ inv docker up

Para a maioria dos casos, no entanto, recomendamos que você preparar sua máquina com alguns ferramentas extras. Os desenvolvedores podem escolher entre Docker ou Poetry/Virtualenv para o dia a dia de desenvolvimento. Em ambos os casos, recomendamos que você tenha o Invoke instalado em sua máquina para facilitar a execução de refrões.

Desenvolvimento local (virtualenv)

Esta é uma lista de pacotes que você deveria ter instalado localmente antes de começarmos:

  • Python 3.6+ (Python 3.7 é recomendado)
  • Virtualenv ou virtualenvwrapper
  • Invoke (>= 1.0)
  • Node.js e npm
  • Gettext do GNU
  • Docker (opcional, para implantação)

Você pode instalar todas as dependências nas variantes Ubuntu/Debian recentes com os seguintes comandos:

$ sudo apt install python3-dev python3-pip virtualenvwrapper \
                   npm gettext docker.io docker-compose
$ sudo pip3 install invoke

Uma vez que tudo está instalado, crie e ative seu virtualenv. Vamos criar um novo virtualenv chamado "ej”:

$ bash
$ mkvirtualenv ej -p /usr/bin/python3

Este comando cria e ativa o virtualenv. Quando você quiser trabalhar com o repositório posteriormente, ative o env virtual usando o comando workon ej .

Os passos seguintes são tratados pelo script configure.sh:

$ sh configure.sh

Esta tarefa cria um banco de dados de testes com algumas conversas, usuários, comentários e votos. Particularmente, ele cria automaticamente um usuário admin (senha: admin, email: admin @ admin . com ) um usuário regular (senha: usuário, email: usuário @ usuário . com ).

Isto pode levar bastante tempo. Pegue uma xícara de café enquanto ele baixa e instala todas as dependências. Se tudo funcionar como esperado, você poderá executar o servidor usando o comando inv run após terminar.

Executando

A menos que você prefira digitar comandos longos de gerenciamento do Django, use o Invoke para iniciar o servidor dev:

$ inv run

Você pode controlar várias configurações usando variáveis de ambiente. Para executar usando a tradução portuguesa brasileira, por exemplo, basta exportar a configuração correta para COUNTRY:

$ export COUNTRY=brasil

Dependendo de suas configurações de rede, você pode precisar definir a configuração ALLOWED_HOSTS para sua instalação do Django. Essa é uma configuração de segurança básica que controla quais hosts podem atender requisições. Exceto em configurações de produção, você pode definir a variável de ambiente DJANGO_ALLOWED_HOSTS como * para permitir conexões em qualquer topologia de rede.

$ DJANGO_ALLOWED_HOSTS=*

Invocar gerencia muitas outras tarefas importantes, você pode descobri-las usando:

$ inv -l

Se você está fazendo alterações na base de código EJ, não se esqueça de executar testes com frequência. O EJ usa o Pytest:

$ pytest

Documentação

Documentação pode ser atualizada com $ inv docs e estará disponível no diretório build/docs/.

Alterando tema

Os comandos anteriores constroem EJ usando o tema "default". O EJ aceita temas adicionais e vem atualmente pré-instalado com o tema alternativo "cpa". O primeiro passo é reconstruir os recursos estáticos:

$ inv sass -t cpa js db-assets

Agora execute o servidor usando o sinalizador –theme:

$ inv run -t cpa

Usando o docker

Se você quiser usar o docker, crie os contêineres e exercute o Docker Compose:

$ sudo docker-compose -f docker/deploy/docker-compose.yml build
$ sudo docker-compose -f docker/docker-compose.yml up -d

Após o comando, ej-server pode ser acessado em http://localhost:8000.

Em algum momento, você provavelmente vai querer executar comandos dentro do contêiner. É possível abrir um shell bash no contêiner principal "web" com:

$ sudo docker-compose -f docker/docker-compose.yml run web bash

Na verdade, ele se integra com invoke e podemos substituir “bash” por qualquer sequência de tarefas. Por exemplo, podemos migrar o banco de dados e executar testes depois fazendo:

$ sudo docker-compose -f docker/docker-compose.yml exec web db tests

Se você tiver o Invoke instalado na máquina de host, use a versão curta:

$ inv docker-run dev

Testes

Os testes são executados em um contêiner do Docker usando o seguinte comando:

$ sudo docker-compose -f docker/docker-compose.yml run web tests

ou use inv para uma alternativa mais compacta:

$ inv docker-run run -c tests     # uses postgresql
$ inv docker-run single -c tests  # uses sqlite3