O foco principal deste projeto é, com base nos ensinamentos da Trybe, desenvolver uma aplicação web completa utilizando o Django e o Django Rest Framework (DRF). A aplicação permite que usuários cadastrados possam armazenar e categorizar notícias. O projeto segue a arquitetura Model-View-Template (MVT), facilitando a separação de responsabilidades entre as camadas de dados, apresentação e controle.
O que é a Trybe?🤔
A Trybe é uma escola de desenvolvimento web genuinamente comprometida com o sucesso profissional de seus estudantes. Com o Modelo de Sucesso Compartilhado (MSC) oferecido pela Trybe Fintech, uma instituição financeira autorizada pelo Banco Central do Brasil, os alunos têm a opção de pagar apenas quando estiverem trabalhando.A aplicação trabalhará com um banco de dados relacional MySQL, garantindo a persistência dos dados de usuários, notícias e categorias. Além disso, a API será desenvolvida com DRF para facilitar o acesso e manipulação dos dados através de endpoints RESTful.
-
Gestão de Categorias:
- Os usuários podem criar e gerenciar categorias de notícias diretamente na interface da aplicação.
- A API expõe as categorias através de endpoints REST, permitindo a recuperação de informações de forma rápida e organizada.
-
Cadastro e Gestão de Notícias:
- As notícias são cadastradas pelos usuários com título, conteúdo, imagem, data de criação e categorias associadas.
- Cada notícia pode ser atribuída a uma ou mais categorias, com uma relação de muitos para muitos.
- As notícias são exibidas na página inicial com seus detalhes e link para mais informações.
-
Sistema de Usuários:
- O sistema gerencia usuários com informações como nome, email, senha e função (role).
- A autenticação e gestão de permissões para cadastro e acesso a notícias são controladas pelo sistema de usuários.
-
API RESTful:
- A API criada com o Django Rest Framework oferece endpoints para manipulação de usuários, categorias e notícias.
- Serializers garantem a formatação correta dos dados ao interagir com a API.
- Todos os dados cadastrados podem ser acessados e manipulados por meio das rotas criadas no projeto.
-
Templates Dinâmicos:
- A aplicação renderiza templates dinâmicos que exibem as notícias cadastradas e suas categorias.
- A página inicial lista todas as notícias, enquanto a página de detalhes de uma notícia exibe o conteúdo completo.
- Desenvolvimento de aplicações web com Django e Django Rest Framework.
- Uso da arquitetura Model-View-Template (MVT).
- Criação de migrações e gestão de modelos de dados com o MySQL.
- Integração com APIs RESTful e uso de Serializers no DRF.
- Utilização de templates dinâmicos para renderização server-side.
- Estruturação de sistemas de autenticação e controle de acesso.
- Python - Linguagem de programação utilizada para o backend da aplicação.
- Django - Framework web utilizado para desenvolvimento de aplicações server-side.
- Django Rest Framework (DRF) - Extensão do Django para criação de APIs RESTful.
- MySQL - Banco de dados relacional utilizado para armazenamento das informações de usuários, notícias e categorias.
- HTML5 - Linguagem de marcação utilizada para a construção das páginas web.
- CSS3 - Utilizado para estilização das páginas HTML.
- Jinja2 - Motor de templates utilizado pelo Django para renderizar HTML dinâmico.