Aplicação base para aplicações Django + DRF (Django Rest Framework) no Backend e Angular + Bootstrap no Frontend.
Versões BACKEND:
Django == v3.0.5django-environ == v0.4.5djangorestframework == v3.11.0
Versões FRONTEND:
Angular == v9.0.0Bootstrap == v4.4.1Font-Awesome == v5.13.0
O projeto consiste em gerar uma api (app Django api) para alimentar uma aplicação Angular, sendo ambas
servidas pelo Django. Todo conteúdo Javascript da aplicação (após o processo de transpilação de Typescript => JS)
tem como entrypoint a página index.html servida pelo Django em website/templates/website/index.html.
O código Angular reside na pasta website/src. Seu entrypoint está em website/src/main.ts.
Para iniciar o projeto, é necessário realizar o download das dependências tanto do Frontend, quanto do Backend.
Para instalar as dependências no Backend, recomendo a utilização do virtualenv (para saber mais, acesse a Python Academy).
Crie seu ambiente virtual com: virtualenv venv e o ative com source venv/bin/activate.
Após ativar o ambiente virtual, instale as dependências com pip install -r requirements.txt.
Utilize o npm para instalar as dependências do projeto.
Para isso, execute npm i em seu terminal (será criada a pasta node_modules/ - mas não se preocupe
pois a mesma já está em nosso .gitignore).
Antes de colocar o Backend em execução, é necessário atualizar o arquivo de ambiente .env, renomeando
o arquivo .env-exemplo para .env e modificando seus atributos:
# [Obrigatório] SECRET_KEY do Django
SECRET_KEY='secret-key'
# [Obrigatório] URL do Banco de Dados
DATABASE_URL='sqlite:///db.sqlite3'
# [Obrigatório] Habilita/Desabilita modo DEBUG do Django (True ou False)
DEBUG=True|FalseEm seguida, estando na raiz do projeto, execute o script de start do projeto com sh scripts/start.sh.
Para executar o projeto, é necessário executar o Backend e o Frontend separados.
Para colocar o Backend em execução, utilize o comando python3 manage.py runserver.
Em outro terminal, execute o Frontend com ng build --aot --build-optimizer --progress --watch.