Tabela Periodica
Uma plataforma desenvolvida em Django para consulta interativa dos elementos químicos, utilizando uma arquitetura limpa, API REST e deploy em Docker.

O projeto
Durante meus estudos percebi que a maioria das tabelas periódicas disponíveis possuía interfaces antigas e pouca interatividade. O objetivo foi desenvolver uma aplicação moderna para estudantes, ao mesmo tempo em que servisse como laboratório para aprender Django, APIs REST e boas práticas de arquitetura.
Objetivo
Criar uma plataforma moderna para estudos sobre a tabela periódica.
Aprendizado
Aprofundar conhecimentos em Django e arquitetura.
Desafio
Organização do projeto e modelagem dos dados.
Resultado
Aplicação online com API REST pública.
Galeria

Página inicial
A página inicial apresenta os principais recursos da plataforma e destacar funcionalidades, facilitando o acesso às áreas mais importantes do sistema.

Tabela de Elementos
A tabela periódica permite explorar todos os elementos químicos de forma interativa, oferecendo uma navegação intuitiva e acesso rápido às informações de cada elemento.

Página do elemento
Cada elemento possui uma página exclusiva contendo informações detalhadas, propriedades químicas e físicas, curiosidades e outros dados relevantes para consulta.

Perfil de Usuário
Os usuários podem visualizar e atualizar suas informações de perfil, personalizando seus dados sempre que desejarem.

Gerenciamento de Publicações
Nesta área, o usuário pode criar novas atividades, editar ou excluir publicações existentes e acompanhar o status de aprovação. As atividades ficam disponíveis ao público somente após a aprovação de um administrador.

Atividades Publicadas
As atividades aprovadas são organizadas em uma grade com filtros por disciplina, autor, turma e outros critérios, tornando a busca por conteúdos mais rápida e eficiente.

Descrição de Atividade e Avaliações
Cada atividade possui uma página dedicada com sua descrição completa, materiais complementares e avaliações realizadas por outros usuários, auxiliando na escolha dos melhores conteúdos.
Stacks utilizadas
Backend
- Python
- Django
- Django REST Framework
Banco
- PostgreSQL
- Django ORM
Frontend
- HTML
- CSS
- JavaScript
Sistema de autenticação seguro com cadastro, login e gerenciamento de usuários
CRUD completo de atividades com filtragem e pesquisa por texto
Sistema de avaliação de atividades com classificação por estrelas e comentários
Testes unitários automatizados para funções, views e endpoints da API
API REST completa com serialização e validação de dados construída com Django REST Framework
Documentação completa da API com descrição de endpoints e exemplos de usoDesafios enfrentados
Arquitetura
Separação entre aplicações, organização de módulos e reutilização de componentes.
Banco de Dados
Relacionamentos entre elementos e otimização das consultas.
Deploy
Containerização utilizando Docker e configuração do Nginx para produção.
API REST
Desenvolvimento de endpoints reutilizáveis seguindo boas práticas REST.