Projeto Pessoal

Tabela Periodica

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

PythonDjangoDRFPostgreSQL

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

Desafios 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.