Login - Registo

MAKING OF - INTEGRAƇƃO COM API EXTERNA

O objetivo desta funcionalidade foi consumir uma API REST
desenvolvida pelo meu colega (MƔximo Nunes), permitindo realizar
operaƧƵes CRUD completas diretamente a partir do meu projeto Django.

As operaƧƵes implementadas incluem:
- Listar dados
- Visualizar detalhes
- Criar novos registos
- Atualizar informação
- Apagar registos

A integração foi feita através da biblioteca requests,
consumindo endpoints REST com autenticação por API Key.

DIFICULDADES ENCONTRADAS

A principal dificuldade inicial foi a ligação ao servidor da API.
Como o domínio utilizava HTTPS com certificado não validado pela
universidade, foram encontrados erros do tipo:

SSL CERT VERIFICATION ERROR

A solução passou por configurar corretamente o ambiente
de desenvolvimento e ajustar a forma de requisição para
permitir comunicação segura.

------------------------------------------------------------

MAKING OF - DESENVOLVIMENTO DA MINHA API

A API foi desenvolvida no contexto do projeto de portfólio com
o objetivo de gerir informação sobre Jogos, Estúdios de
Desenvolvimento e Distribuidoras.

Foi utilizada a framework Django Ninja, que permite criar
APIs modernas, rÔpidas e com documentação automÔtica baseada
em Swagger/OpenAPI.

OBJETIVOS PRINCIPAIS

- Implementação de CRUD completo (Create, Read, Update, Delete)
  para Jogos, Desenvolvedoras e Distribuidoras
- Definição de relacionamentos entre modelos (ForeignKey)
- Implementação de autenticação via API Key (X-API-Key)
- Geração automÔtica de documentação com Swagger UI
- Suporte a filtros, paginação e ordenação de resultados

ARQUITETURA E DECISƕES TƉCNICAS

A API foi estruturada de forma modular, separando:
- models (estrutura de dados)
- schemas (validação de dados)
- routers (endpoints)

Esta separação facilita manutenção, escalabilidade e
leitura do código.

CONCLUSƃO

Este desenvolvimento permitiu aprofundar conhecimentos em APIs REST,
integração entre sistemas Django e consumo de serviços externos.

Também foi essencial para compreender melhor autenticação, segurança
e comunicação entre aplicações distribuídas.