Skip to content

dunderlabs/django-rest-boilerplate

Repository files navigation

Django boilerplate

English version here

Um template de projeto Django para ajudar você a iniciar novos projetos. Baseado no 7ws logfreak.

Na era das aplicações web usando React/APIs RESTful, nós ainda acreditamos que um projeto Django "raiz" tem seu valor. Principalmente se você só precisa validar uma ideia, ou simplesmente prefere não usar aquelas ferramentas. Tendo isso em mente, nós criamos essa estrutura (vamos chamar de boilerplate) que vai servir de template para um novo projeto de API usando Django E DRF, adicionando algumas melhorias.

O que esse boilerplate está usando?

  • Python +3.10
  • Django 4.1.2
  • Pytest - Vai nos ajudar a escrever testes (e rodá-los)
  • Poetry - Gerenciador de pacotes Python
  • pre-commit - Framework para rodar alguns hooks no momento do commit. Alguns dos hooks:

O que vem por aí:

  • mypy
  • Configurar ambiente Docker para produção

Como utilizar - sem docker

Primeiro, você precisa instalar o Django, para que assim possamos utilizar o comando django-admin. Então ative seu ambiente virtual e rode pip install Django==3.0.8. Ao finalizar a instalação, dentro do diretório onde você quer que o projeto fique, rode o seguinte comando:

django-admin startproject nome_do_projeto --template=https://github.com/dunderlabs/django-rest-boilerplate/archive/main.zip

Após o comando acima finalizar, você deverá fazer uma cópia do arquivo example.env mudando o nome da cópia para .env. Agora dentro dele, altere os valores das variáveis conforme necessário.

Depois disso, todos os arquivos desse repositório estarão dentro do diretório que você criou antes e executou o comando anterior. Agora nós precisamos instalar as dependências Python do projeto. Para isso, você pode executar esse comando abaixo:

$ make local-install-requirements

Se em algum momento você quiser atualizar os pacotes Python, execute o seguinte:

$ make local-update-requirements

Agora vamos instalar as dependências do frontend:

$ make local-setup-frontend

Por fim, inicie o servidor:

$ python manage.py runserver

Rodando os testes:

Para rodar os testes vai ser tão simples quanto o seguinte:

$ make local-test-all

Como usar - com docker

Primeiro certifique-se que tem Docker e Docker Compose instalados na sua máquina. Depois disso, como primeiro passo vamos fazer o build do projeto, aonde ele vai baixar as imagens docker e executar todos os comandos necessários. Para isso, execute o comando:

make build

Depois disso para levantar os containeres e deixar o projeto rodando, basta executar:

make up

Nós também criamos um atalho para evitar que você sempre tenha que digitar docker-compose run --rm backend quando precisar executar algum comando dentro do container. Então, caso você queira executar um python manage.py migrate dentro do container, você roda o seguinte:

./bin/run python manage.py migrate

Se você rodar apenas ./bin/run ele vai executar o servidor de desenvolvimento do Django.

Como contribuir?

Reporte os bugs nas nossas issues ou simplesmente faça um fork do projeto, contribua com o que achar necessário e mande um PR pra gente! :)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published