Skip to content

LuizNunes06/proj_garagem2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

d3f9981 · Jul 19, 2024

History

8 Commits
Jun 28, 2024
Jul 19, 2024
Jul 19, 2024
Jun 25, 2024
Jun 25, 2024
Jun 25, 2024
Jun 25, 2024
Jun 25, 2024
Jun 25, 2024
Jun 25, 2024
Jun 25, 2024
Jun 25, 2024
Jun 25, 2024
Jul 5, 2024
Jul 19, 2024
Jun 25, 2024
Jun 25, 2024
Jun 25, 2024
Jun 25, 2024
Jun 25, 2024

Repository files navigation

Template de projeto Django com DRF e PDM

Esse é um template de projeto Django com DRF, PDM e muito mais. Ele já vem com algumas configurações e pacotes pré-instalados, como o PDM, Django, Django REST Framework, PostgreSQL, SQLite, Swagger, Black, isort, Fl0, Cloudinary, Corsheaders, Django-Extensions, Django-Filter, dotenv, drf-spectacular, gunicon, netifaces, rest-framework-simplejwt e whitenoise.

Esse template já está pronto para ser utilizado em produção, com o Fl0 e o PostgreSQL. Mas também pode ser utilizado em desenvolvimento, com o PDM e o SQLite.

O template também já vem com alguns arquivos de configuração pré-configurados, como:

  • pyproject.toml: Arquivo de configuração do PDM.
  • Procfile: Arquivo de configuração do Fl0.
  • settings.py: Arquivo de configuração do Django.
  • urls.py: Arquivo de configuração das rotas do Django.
  • wsgi.py: Arquivo de configuração do Gunicorn.
  • .env.exemplo: Arquivo de exemplo de configuração das variáveis de ambiente.
  • .gitignore: Arquivo de configuração do Git, para ignorar arquivos e diretórios.

O template também traz o usuário padrão modificado, com o login sendo feito com o e-mail e não com o username. Inclusões de campos, como telefone, data de nascimento e foto de perfil, podem ser feitas facilmente.

Instalação e Configuração

  1. Certifique-se de ter o Python instalado em seu sistema.

  2. Crie um novo projeto a partir desse template:

  • Acesse o template em https://github.com/marrcandre/template_django_pdm.
  • Clique no botão Use this template em Create a new repository.
  • Preencha as informações solicitadas:
    • Owner: <seu usuário no GitHub>
    • Repository name: livraria
  • Click no botão Create repository.
  1. Abra o projeto no vscode e execute o terminal.

  2. Crie um ambiente virtual usando o PDM:

    pdm install
    
  3. Crie o arquivo .env, a partir do arquivo .env.exemplo, e configure as variáveis de ambiente:

    cp .env.exemplo .env
    
  4. Execute o servidor de desenvolvimento:

    pdm run dev
    
  5. Acesse a API em http://localhost:19003/api/

Uso da API

A documentação completa dos endpoints da API e exemplos de uso estão disponíveis na Documentação da API.

Comandos Úteis

  • pdm run dev: Executa o servidor de desenvolvimento. Antes de executar o servidor, descobre o endereço IP da máquina e atualiza o arquivo .env com o endereço IP.
  • pdm run migrate: Executa as migrações do banco de dados. Antes de executar o migrate, executa o makemigrations. Depois de executar o migrate, executa o graph_models, atualizando o diagrama de classes dos modelos do projeto.

Detalhes do Projeto

Esse projeto utiliza os seguintes pacotes e tecnologias:

  • PDM: Gerenciador de pacotes e ambiente virtual para Python.
  • Django: Framework web de alto nível escrito em Python.
  • Django REST Framework: Framework para desenvolvimento de APIs REST com Django.
  • PostgreSQL: Banco de dados relacional, utilizado no ambiente de produção.
  • SQLite: Banco de dados relacional, utilizado no ambiente de desenvolvimento.
  • Swagger: Framework para documentação de APIs REST.
  • Black: Ferramenta de formatação de código Python.
  • isort: Ferramenta de ordenação de imports Python.
  • Fl0: Ferramenta de deploy de aplicações backend e banco de dados.
  • Cloudinary: Serviço de armazenamento de arquivos estáticos em nuvem.
  • Corsheaders: Pacote para habilitar o CORS em aplicações Django. O CORS é utilizado para permitir que aplicações frontend acessem a API.
  • Django-Extensions: Pacote com extensões para o Django, como o shell_plus, que permite acessar o shell do Django com todos os modelos importados e o comando graph_models, que gera um diagrama de classes dos modelos do projeto.
  • Django-Filter: Pacote para filtragem, ordenação e paginação de dados em APIs REST.
  • dotenv: Pacote para carregar variáveis de ambiente a partir de um arquivo .env.
  • drf-spectacular: Pacote para geração de documentação de APIs REST com o Swagger.
  • gunicon: Pacote para servir aplicações Django em produção.
  • netifaces: Pacote para obter o endereço IP da máquina.
  • rest-framework-simplejwt: Pacote para autenticação JWT em APIs REST.
  • whitenoise: Pacote para servir arquivos estáticos em aplicações Django.

Licença

Este projeto está licenciado sob a Licença GPL, uma licença de software livre.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages