Introdução
Neste tutorial, você irá aprender a desenvolver aplicações web interativas utilizando o Yorick em conjunto com o Django e o React. A combinação dessas tecnologias permite criar interfaces dinâmicas que se comunicam com um backend poderoso, além de viabilizar análises de dados em tempo real. O objetivo desse guia é fornecer um passo a passo para configurar o ambiente de desenvolvimento, criar a API usando Django e construir a interface do usuário com React. Ao final, você terá uma aplicação completa que pode ser expandida para necessidades futuras, seja em projetos de ciência de dados ou de aplicações acadêmicas, capitalizando sobre a capacidade do Yorick para simulações e cálculos complexos.
Etapas
Configuração do Ambiente de Desenvolvimento
Primeiro, garanta que você tenha Python 3.x, Django, Node.js e npm instalados em seu sistema. Você pode verificar as versões instaladas usando os comandos abaixo. Se necessário, instale as versões mais recentes de cada uma dessas ferramentas.
commands# Verificar versões do Python e Django
python --version
pip show django
# Verificar versões do Node.js e npm
node -v
npm -vCriação do Projeto Django
Utilize o Django para criar um novo projeto. Execute os comandos abaixo no terminal para criar um novo projeto chamado ‘data_interface’ e um aplicativo chamado ‘api’.
commandsdjango-admin startproject data_interface
cd data_interface
python manage.py startapp apiConfiguração do Banco de Dados
Abra o arquivo `settings.py` no diretório do seu projeto e configure o banco de dados SQLite (padrão do Django) com a configuração abaixo.
settings.pyDATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BASE_DIR / 'db.sqlite3', } }
Criação do Modelo de Dados
Defina um modelo de dados em `models.py` dentro do aplicativo `api`. Neste exemplo, criaremos um modelo `DataPoint` que armazenará informações sobre dados científicos.
models.pyfrom django.db import models class DataPoint(models.Model): name = models.CharField(max_length=100) value = models.FloatField() timestamp = models.DateTimeField(auto_now_add=True) def __str__(self): return self.name
Criando a API com Django REST Framework
Adicione a dependência do Django REST Framework ao seu projeto. Edite o arquivo `settings.py` e inclua `rest_framework` nas `INSTALLED_APPS`. Depois, crie um arquivo `serializers.py` para definir como os modelos serão convertidos para JSON.
settings.pyINSTALLED_APPS = [ ..., 'rest_framework', ]
serializers.pyfrom rest_framework import serializers from .models import DataPoint class DataPointSerializer(serializers.ModelSerializer): class Meta: model = DataPoint fields = '__all__'
Criando as Views da API
Em `views.py`, crie as views para gerenciar os endpoints da API. Usaremos as class-based views do Django REST Framework para facilitar a criação.
views.pyfrom rest_framework import generics from .models import DataPoint from .serializers import DataPointSerializer class DataPointList(generics.ListCreateAPIView): queryset = DataPoint.objects.all() serializer_class = DataPointSerializer class DataPointDetail(generics.RetrieveUpdateDestroyAPIView): queryset = DataPoint.objects.all() serializer_class = DataPointSerializer
Configuração das URLs
Em `urls.py`, registre as URLs para as views que acabamos de criar. Conecte as URLs do aplicativo `api` com os endpoints necessários para acessar e modificar os dados.
urls.pyfrom django.urls import path from .views import DataPointList, DataPointDetail urlpatterns = [ path('datapoints/', DataPointList.as_view(), name='datapoint-list'), path('datapoints/<int:pk>/', DataPointDetail.as_view(), name='datapoint-detail'), ]
Testando a API
Certifique-se de que a API está funcionando. Execute o servidor de desenvolvimento Django e use ferramentas como Postman ou cURL para realizar as requisições à API.
commands# Executar o servidor Django
python manage.py runserver
# Testar a API com cURL
# Criar um DataPoint
curl -X POST -d 'name=Example&value=42.0' http://127.0.0.1:8000/datapoints/
# Listar todos os DataPoints
curl http://127.0.0.1:8000/datapoints/Criação da Interface com React
Em um novo terminal, crie um aplicativo React chamado ‘frontend’ usando o Create React App. Após a criação, instale Axios para facilitar as requisições HTTP.
commandsnpx create-react-app frontend
cd frontend
npm install axiosImplementação da Interface do Usuário
Substitua o conteúdo do arquivo `App.js` por um código que conecta ao backend Django e exibe os dados recuperados. Teste a interação entre o frontend e o backend.
App.jsimport React, { useEffect, useState } from 'react'; import axios from 'axios'; function App() { const [dataPoints, setDataPoints] = useState([]); useEffect(() => { axios.get('http://127.0.0.1:8000/datapoints/') .then(response => setDataPoints(response.data)); }, []); return ( <div> <h1>Data Points</h1> <ul> {dataPoints.map(dataPoint => ( <li key={dataPoint.id}>{dataPoint.name}: {dataPoint.value}</li> ))} </ul> </div> ); } export default App;
Executando a Aplicação Completa
Execute tanto o servidor Django quanto o aplicativo React. Assegure-se de que o frontend possa se comunicar com o backend. Teste a aplicação usando um navegador.
commands# Execute o servidor Django em um terminal
python manage.py runserver
# Execute o frontend React em outro terminal
npm start
Conclusão
Ao final deste tutorial, você desenvolveu uma aplicação web interativa utilizando o Yorick com Django e React. Você configurou o ambiente, definiu modelos de dados, criou uma API RESTful com Django REST Framework e integrou uma interface de usuário responsiva com React. Essa base permite que você introduza novas funcionalidades, como análises mais complexas e visualizações de dados, aproveitando a capacidade do Yorick em cálculos científicos. Com suas novas habilidades, você pode expandir este projeto de acordo com suas necessidades e interesses.