Skip to content

dhomini-rabelo/Blog

Repository files navigation

Blog Code Portal

project-image

project-image project-image

🔗 Tópicos

📖 Sobre

Blog compartilhado de tecnologia, basta criar uma conta e fazer seus posts sobre tecnologia. O blog está disponível neste link : https://django-dhomini-rabelo.cloud.okteto.net/, ele está hospedado no serviço da okteto.

🛠️ Principais ferramentas

  • Fast
  • Django
  • Django Rest Framework
  • Django-summernote
  • Celery
  • Redis
  • Postgres
  • Celery beat
  • Flower
  • Docker
  • Docker-compose

🚀 Features

  • Django ORM
  • Autenticação do Django
  • Formulários com Fast
  • Tarefas usando Celery
  • Tarefas agendadas usando Celery beat
  • Envio de email usando serviço do gmail
  • Dashboard de tarefas usando Flower
  • Sistema de mensagens com Fast
  • Campo de texto para posts usando Django-summernote
  • Javascript consumindo APIs
  • Site responsivo
  • Micro SPAs
  • Admin personalidzado
  • Armazenamento de arquivos de mídia pelo Cloudinary
  • Envio de email
  • Cache

🏷️ Modelagem do banco de dados

User

  • Username ( gerenciada pelo AbstractUser do Django )
  • Senha ( gerenciada pelo AbstractUser do Django )
  • Nome
  • Email
  • Foto de perfil
  • My static pages JSON

Categorias

  • Nome
  • Slug
  • Imagem

Subcategorias

  • Nome
  • Slug
  • Imagem
  • Categoria FK

Sugestão de Categoria

  • Nome
  • Estado
  • User FK

Sugestão de Subcategoria

  • Nome
  • Estado
  • User FK

Post

  • Título
  • Descrição
  • Imagem
  • Autor (User) FK
  • Texto
  • Publicado BOOL
  • Código
  • Categoria FK
  • Subcategoria M2M
  • Data de criação
  • Data de última modificação

🎥 Projeto

  • Sistema de administração

    project-image

    project-image
  • Flower

    project-image

    project-image

    project-image

    project-image
  • Cadastro

    project-image project-image
  • Usuário salvo no sistema de administração

    project-image
  • Validação de formulário pelo backend

    Está feature está presente em todos os formulários do sistema

    project-image
  • Validação de formulário pelo frontend

    Está feature está presente em todos os formulários do sistema

    project-image
  • Login no sistema

    project-image
  • Erros no login

    project-image
  • Esqueci a senha

    project-image
  • Alterar dados básicos

    Ao criar seu perfil, o sistema sorteia uma foto de usuário, você pode editar essa foto do mesmo modo que edita uma foto de um post

    project-image
  • Alterar senha

    project-image
  • Alterar email

    project-image
  • Enviando sugestões

    O usuário não pode criar categorias e subcategorias, mas ele pode enviar sugestões para os administradores

    project-image
  • Sugestões no sistema de administração

    project-image

    project-image

    project-image
  • Respostas das sugestões

    As respostas são registradas após o administrador mudar o estado das sugestões no sistema de administração

    project-image
  • Criando um post

    Se você adicionar uma imagem muito pesada para o post, ela será cortada, para evitar gasto exagerado de memória, essa feature também está disponível na página de edição de post

    project-image
  • Editando um post

    A seção EDITAR lista seus posts publicados e a seção RASCUNHOS lista seus posts não publicados

    project-image
  • Tela inicial - Lista de Posts

    project-image
  • Lista de categorias

    project-image
  • Lista de Autores

    project-image
  • Fazendo busca

    project-image
  • Navegação rápida

    Apenas com dados do backend e consumo de APIs, essas páginas ficam num formato de SPA

    project-image

    A url é dinâmica

    project-image

    Esta feature também está presente nas páginas de login e cadastro

    project-image
  • Telas no computador

    Esse projeto foi feito com o conceito de mobile first

    project-image
  • Logout

    project-image project-image

🛠️ Como usar

Para usar você deve ter docker instalado na sua máquina, atualizar as dependências, configurar o arquivo .env.dev e renomeá-lo para .env, depois disso basta apenas rodar o comando abaixo:

docker-compose -f development.yml up --build