Theka API é uma API RESTful desenvolvida com Django REST Framework, criada para gerenciar uma biblioteca digital e informações institucionais de forma integrada e escalável.
- API Base: LINK DA API
- Documentação Interativa (Swagger): DOCUMENTAÇÃO DA API
| Tecnologia | Descrição |
|---|---|
| Python 3.13.5 | Linguagem principal do projeto |
| Django 5.2.7 | Framework backend robusto e escalável |
| Django REST Framework 3.16.1 | Criação e gerenciamento de APIs RESTful |
A aplicação é composta por dois módulos principais:
Gerencia os dados literários da aplicação:
- Livro — Informações completas sobre cada obra.
- Editora — Dados das editoras registradas.
- Gênero — Classificação literária dos livros.
Gerencia as informações institucionais:
- SobreNós — Descrição da empresa e banner.
- NossaHistória — Histórico institucional com imagem ilustrativa.
- MembrosEquipe — Cadastro de membros da equipe.
- NossosValores — Valores e princípios corporativos.
- Tópicos — Tópicos de apresentação institucional.
- EstatísticasBiblioteca — Atualização automática de métricas.
A API Theka oferece diversos filtros para facilitar a busca e organização dos livros. Abaixo estão os filtros disponíveis e como utilizá-los:
| Parâmetro | Tipo | Descrição | Exemplo |
|---|---|---|---|
genero |
ID, nome | Filtra por gênero específico | ?genero=1 ?genero_nome=comedia |
editora |
ID, nome | Filtra por editora específica | ?editora=2 ?editora_nome=intrinseca |
ano_publicacao |
Integer | Filtra por ano de publicação | ?ano_publicacao=2023 |
| Parâmetro | Descrição | Campos Pesquisados | Exemplo |
|---|---|---|---|
search |
Busca textual | título, autor, ISBN | ?search=dom+casmurro |
| Parâmetro | Descrição | Campos Disponíveis | Exemplo |
|---|---|---|---|
ordering |
Ordena os resultados | titulo, autor, ano_publicacao, criado_em |
?ordering=titulo |
| Parâmetro | Descrição | Exemplo |
|---|---|---|
page |
Número da página | ?page=2 |
page_size |
Itens por página | ?page_size=20 |
Atualmente, todos os endpoints da API estão livres para acesso público, ou seja, não exigem autenticação para realizar requisições.
No entanto, a estrutura da aplicação já está preparada para suportar autenticação e controle de acesso. É possível ativar a proteção dos endpoints utilizando os recursos disponíveis em:
- Endpoints de autenticação (
/auth/) — responsáveis por login, recuperação e atualização de tokens JWT. - Endpoints de usuários (
/users/) — permitem gerenciar contas e definir permissões específicas para cada usuário.
Dessa forma, caso seja necessário restringir o acesso futuramente, basta configurar as permissões e aplicar autenticação via token JWT (JSON Web Token) nos endpoints desejados.
theka_API/
├── institucional/ # App institucional
│ ├── models.py
│ ├── serializers.py
│ ├── views.py
│ ├── urls.py
│ ├── admin.py
│ ├── apps.py
│ ├── migrations/
│ └── tests/
│ ├── test_models.py
│ └── test_views.py
├── library/ # App da biblioteca
│ ├── models.py
│ ├── serializers.py
│ ├── views.py
│ ├── urls.py
│ ├── admin.py
│ ├── apps.py
│ ├── filters.py
│ ├── pagination.py
│ ├── utils.py
│ ├── migrations/
│ └── tests/
│ ├── test_models.py
│ └── test_views.py
├── users/ # App de usuários
│ ├── models.py
│ ├── serializers.py
│ ├── views.py
│ ├── urls.py
│ ├── admin.py
│ ├── apps.py
│ ├── migrations/
│ └── tests/
├── theka/ # Configurações do projeto
│ ├── init.py
│ ├── settings.py
│ ├── urls.py
│ ├── asgi.py
│ └── wsgi.py
├── manage.py
├── requirements.txt
├── db.sqlite3
└── README.md
Carlos Gabriel
Desenvolvedor Backend | Estudante de Engenharia da Computação
GitHub • LinkedIn















