Devcase foi projetado para desenvolvedores e profissionais de TI. É uma ferramenta para ajudá -lo a obter seu próprio blog e portfólio on -line de maneira rápida e fácil.
Demo/exemplo: rburkhardt.com
Lar

Sobre

BlogPost With Image (nova versão tem comentários-sistema)

BlogPost Without Image (nova versão tem comentários)

Página de contato (nova versão tem captchas)

Painel de administrador

Admin - Sobre Config

A maneira mais rápida e fácil de testar o CASE de desenvolvimento localmente :
git clone [email protected]:rob32/dev-case.git
cd dev-case
docker-compose up -d --build
docker-compose exec web python manage.py migrate
docker-compose exec web python manage.py createsuperuser
Importante :
Crie um novo arquivo .env com o seguinte conteúdo (antes docker-compose up -d --build ):
DEBUG=True
DATABASE_URL=psql://postgres:postgres@db:5432/postgres
Vá para http://127.0.0.1:8000/ e verifique se tudo funcionou.
Ambiente de Desenvolvimento com Python (VENV) e Nó (opcional).
Testado com GNU/Linux & Mac:
git clone [email protected]:rob32/dev-case.git
cd dev-case
python3 -m venv venv && source venv/bin/activate
pip install -r requirements-dev.txt
python3 manage.py migrate
pre-commit install
Crie um arquivo .env com pelo menos o seguinte conteúdo:
DEBUG=True
# only if postgres is used, uncomend the next line (example):
# DATABASE_URL=psql://postgres:postgres@db:5432/postgres
Inicie o servidor de desenvolvimento com python3 manage.py runserver
Vá para http://127.0.0.1:8000/
# Install dependecies with:
npm install
# Build "Fronted" manually (uses `rm -rf` for cleaning):
npm run build
Opcional: Iniciar o Backend-Server e o Esbuild no modo de relógio ao mesmo tempo com npm start .
# Unit/Integration Tests:
python3 manage.py test
# Code Quality with the help of pre-commit
pre-commit run -a -v
Uma seleção de configurações possíveis por meio de variáveis de ambiente:
SECRET_KEY=insecure-secretkey12345
DEBUG=FALSE
ALLOWED_HOSTS=my-domain-name.com
DATABASE_URL=psql://postgres:postgres@db:5432/postgres
ADMIN_LOCATION=dev-case/
ROBOTS_DISALLOW=/contact/,/private-file.html`
FEED_TITLE="My Feed Title"
FEED_DESCRIPTION="My feed description"
USE_UMAMI_ANALYTICS=True
UMAMI_SCRIPT_URL=https://your-umami-app.com/umami.js
UMAMI_DATA_WEBSITE_ID=2323-3232-2323-3232
WIP
Para implantação/produção, existem duas filiais no momento:
Para a plataforma de aplicativos da Digitalocean, você pode usar o botão "Implantar para o Digitalocean" abaixo. Certifique -se de ter um espaço/balde S3 funcionando com as credenciais necessárias. Guia: Como criar um espaço digital e a chave da API
Depois que o processo de construção concluir:
Acesse o console do seu aplicativo através da guia Console e execute os seguintes comandos:
python3 manage.py migrate para as migrações iniciais de banco de dadospython3 manage.py createsuperuser para criar um usuário administrativoComo última etapa, faça o seguinte ajuste em seu espaço de espaço:
Seu espaço -> Configurações -> CORS Configurações (add):
*ondigitalocean.app*example.comIsso deve resolver o problema com as fontes (ausente de cabeçalho, acesso a acesso à Origin)
Possíveis configurações para produção (via variáveis de ambiente):
SECURE_SSL_REDIRECT=True
SECURE_HSTS_SECONDS=2592000
SECURE_HSTS_INCLUDE_SUBDOMAINS=True
SECURE_HSTS_PRELOAD=True
SESSION_COOKIE_SECURE=True
CSRF_COOKIE_SECURE=True
Certifique -se de que USE_S3_STORAGE esteja definido como True .
Configurações possíveis para armazenamento compatível com S3 (via variáveis de ambiente):
USE_S3_STORAGE (default=False)
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_STORAGE_BUCKET_NAME
AWS_S3_REGION_NAME
AWS_S3_ENDPOINT_URL
AWS_S3_CUSTOM_DOMAIN
AWS_LOCATION
AWS_IS_GZIPPED (default=False)
AWS_S3_FILE_OVERWRITE (default=True)
AWS_DEFAULT_ACL (default=public-read)
Você pode alterar o local para a área de administrador usando a variável de ambiente de ADMIN_LOCATION . O padrão é admin/ .
Altere o nome do domínio e o nome de exibição via Admin-Panel (aplicativo Sites) para o seu nome de domínio real. O padrão está definido como "exemplo.com".
Para adicionar regras desalinhadas , use a variável de ambiente ROBOTS_DISALLOW . Para uma entrada de sitemap válida, altere seu nome de domínio, conforme descrito em sitemap.xml.
Exemplo: ROBOTS_DISALLOW=/contact/,/private-file.html
Para receber notificações, você pode definir as seguintes configurações por meio de variáveis de ambiente:
USE_EMAIL_SMTP (default=False)
EMAIL_NOTIFICATION (default=False)
EMAIL_RECIPIENT (receiver address)
EMAIL_HOST
EMAIL_HOST_USER
EMAIL_HOST_PASSWORD
EMAIL_USE_TLS (default=True)
EMAIL_USE_SSL (default=False)
EMAIL_PORT (default=587)
DEFAULT_FROM_EMAIL
Verifique se USE_EMAIL_SMTP e EMAIL_NOTIFICATION estão definidos como True .
A variável DEFAULT_FROM_EMAIL precisa ter um valor válido (exemplo: [email protected]).
Isso o notificará quando houver novos comentários ou quando você receber uma mensagem através da página de contato.
Se você também deseja ser notificado em caso de erros do servidor, defina a variável de ambiente DJANGO_ADMINS com seu nome e endereço de e -mail. Exemplo:
DJANGO_ADMINS=YourName:[email protected]
# or more
DJANGO_ADMINS=NameOne:[email protected],NameTwo:[email protected]
Verifique se a variável de ambiente USE_UMAMI_ANALYTICS está definida como True .
Além disso, crie uma variável de ambiente UMAMI_SCRIPT_URL e UMAMI_DATA_WEBSITE_ID com os valores correspondentes.
Exemplo:
USE_UMAMI_ANALYTICS=True
UMAMI_SCRIPT_URL=https://your-umami-app.com/umami.js
UMAMI_DATA_WEBSITE_ID=2323-3232-2323-3232
Certifique -se de que a variável de ambiente USE_PLAUSIBLE_ANALYTICS esteja definida como True .
Crie adicionalmente uma variável de ambiente PLAUSIBLE_SCRIPT_URL e PLAUSIBLE_DATA_DOMAIN com os valores correspondentes.
Exemplo:
USE_PLAUSIBLE_ANALYTICS=True
PLAUSIBLE_SCRIPT_URL=https://plausible.io/js/script.js
PLAUSIBLE_DATA_DOMAIN=example.com
Contribuições, feedback e solicitações de recursos são sempre bem-vindas. Para saber mais, consulte o guia do colaborador
Um grande obrigado aos seguintes grandes projetos:
O projeto está disponível na licença GNU GPLV3.
Se você gosta do projeto, dê uma estrela