\ No newline at end of file
diff --git a/src/app/components/menu-bar/menu-bar.component.css b/src/app/components/menu-bar/menu-bar.component.css
index a5d7b1aa..85498434 100644
--- a/src/app/components/menu-bar/menu-bar.component.css
+++ b/src/app/components/menu-bar/menu-bar.component.css
@@ -1,12 +1,13 @@
+.logo{
+ cursor: pointer;
+}
.container__menu-bar{
+ padding: 1rem 0;
display: flex;
align-items: center;
justify-content: space-around;
width: 100%;
-}
-
-.theme__button{
- align-self: flex-end;
+ border: 3px solid grey;
}
.container__menu-bar > ul{
diff --git a/src/app/components/menu-bar/menu-bar.component.html b/src/app/components/menu-bar/menu-bar.component.html
index e51b1c25..106ed029 100644
--- a/src/app/components/menu-bar/menu-bar.component.html
+++ b/src/app/components/menu-bar/menu-bar.component.html
@@ -1,11 +1,11 @@
\ No newline at end of file
diff --git a/src/app/components/menu-bar/menu-bar.responsive.component.css b/src/app/components/menu-bar/menu-bar.responsive.component.css
index a0cd399f..cac4ba44 100644
--- a/src/app/components/menu-bar/menu-bar.responsive.component.css
+++ b/src/app/components/menu-bar/menu-bar.responsive.component.css
@@ -9,5 +9,6 @@
position:fixed;
top: 60%;
right: 10px;
+ background-color: transparent;
}
}
\ No newline at end of file
diff --git a/src/app/components/small-card/small-card.component.css b/src/app/components/small-card/small-card.component.css
index dea83614..f5e9c8c5 100644
--- a/src/app/components/small-card/small-card.component.css
+++ b/src/app/components/small-card/small-card.component.css
@@ -1,34 +1,51 @@
.container__small-card{
+ cursor: pointer;
margin-bottom: 15px;
-
+ padding: 5px;
+ box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 4px, rgba(0, 0, 0, 0.3) 0px 7px 13px -3px, rgba(0, 0, 0, 0.2) 0px -3px 0px inset;
@media(min-width: 1000px) {
- width: 700px;
+ max-width: 700px;
}
}
+.container__small-card:hover{
+ transform: scale(1.02);
+}
.container__small-card-content{
display: flex;
flex-direction: row;
padding: 20px;
box-sizing: border-box;
+
+ @media(max-width: 1200px) {
+ flex-direction: column;
+ align-items: center;
+ }
+
}
.small-card__photo > img {
width: 200px;
min-width: 200px;
margin-right: 20px;
+
+ @media screen and (max-width: 1000px) {
+ width: 100%;
+ }
+
}
-.small-card__title {
+.small-card__title{
display: flex;
- justify-content: center;
- align-items: center;
+ flex-direction: column;
+ gap: 10px;
}
.small-card__title > h1 {
font-size: 16px;
}
-.container__small-card__separator{
- margin-top: 10px;
+.small-card__title > p{
+ font-size: 16px;
+ font-family: Georgia, 'Times New Roman', Times, serif;
}
diff --git a/src/app/components/small-card/small-card.component.html b/src/app/components/small-card/small-card.component.html
index 14e67d70..f89f0c66 100644
--- a/src/app/components/small-card/small-card.component.html
+++ b/src/app/components/small-card/small-card.component.html
@@ -1,4 +1,4 @@
-
+
@@ -10,14 +10,10 @@
-
+
{{ cardTitle }}
+
{{description.slice(0,170) + "..."}}
-
-
-
-
-
diff --git a/src/app/components/small-card/small-card.component.ts b/src/app/components/small-card/small-card.component.ts
index 9e99529b..6ae5ae67 100644
--- a/src/app/components/small-card/small-card.component.ts
+++ b/src/app/components/small-card/small-card.component.ts
@@ -16,6 +16,9 @@ export class SmallCardComponent implements OnInit {
@Input()
Id:string="0"
+ @Input()
+ description:string = ""
+
constructor() { }
ngOnInit(): void {
diff --git a/src/app/components/theme-button/theme-button.component.ts b/src/app/components/theme-button/theme-button.component.ts
index 5758bf9b..eb7d098e 100644
--- a/src/app/components/theme-button/theme-button.component.ts
+++ b/src/app/components/theme-button/theme-button.component.ts
@@ -14,8 +14,8 @@ export class ThemeButtonComponent implements OnInit {
switchTheme(){
this.themeService.switchTheme();
- if(this.modo === 'Escuro') this.modo = 'Claro';
- else this.modo = 'Escuro';
+ if(this.modo === 'Claro') this.modo = 'Escuro';
+ else this.modo = 'Claro';
}
ngOnInit(): void {
diff --git a/src/app/components/theme-button/theme-button.responsive.component.css b/src/app/components/theme-button/theme-button.responsive.component.css
index aac438f6..e89e79e2 100644
--- a/src/app/components/theme-button/theme-button.responsive.component.css
+++ b/src/app/components/theme-button/theme-button.responsive.component.css
@@ -4,6 +4,5 @@
height: 60px;
padding: 0;
border-radius: 50%;
- background-color: transparent;
}
}
diff --git a/src/app/data/dataFake.ts b/src/app/data/dataFake.ts
index 607c3610..132cd989 100644
--- a/src/app/data/dataFake.ts
+++ b/src/app/data/dataFake.ts
@@ -1,14 +1,26 @@
export const dataFake = [
{
- "id":"1",
- "title": "NOVO HOMEM DE FERRO EM 3D",
- "description": "marvel anuncia um novo filme do homem de ferro, confira",
- "photoCover":"https://prod-ripcut-delivery.disney-plus.net/v1/variant/disney/7F51FA9F6CBD9F0C9B1394B1CC0A6A842D07091318674E234CD33CBF7C28CDC3/scale?width=1200&aspectRatio=1.78&format=jpeg"
+ id: "1",
+ title: "Tendências tecnológicas para 2025: o futuro da inovação e eficiência",
+ description: "O Gartner revelou as principais tendências tecnológicas estratégicas para 2025, oferecendo insights fundamentais sobre como líderes e empresas podem se preparar para um futuro moldado por inovações disruptivas. Estas tendências abrangem desde novas fronteiras na Inteligência Artificial (IA) até tecnologias que aprimoram a eficiência energética e a interação homem-máquina, ajudando a mitigar riscos e potencializar operações. A IA agêntica representa uma revolução ao permitir que sistemas tomem decisões e executem tarefas de forma autônoma, alinhadas aos objetivos definidos pelos usuários. Essa tecnologia é vista como um meio de aumentar a produtividade e reduzir a carga de trabalho humano, com previsão de que, até 2028, 15% das decisões diárias serão feitas por IA sem intervenção humana. Plataformas de governança da IA são essenciais para garantir a transparência e a ética no uso da tecnologia. Essas ferramentas ajudam as empresas a desenvolver políticas claras para prevenir incidentes éticos e aumentar a confiança pública. O Gartner prevê que, até 2028, empresas que adotarem governança abrangente de IA terão 40% menos incidentes éticos relacionados à tecnologia. Com a proliferação de ferramentas de IA usadas para fins maliciosos, como deepfakes e campanhas de desinformação, a segurança contra desinformação se torna essencial. Estima-se que, até 2028, metade das empresas adotarão soluções específicas para combater informações falsas e proteger sua reputação e operações. O avanço da computação quântica ameaça tornar obsoletos muitos dos sistemas de criptografia atuais. O Gartner alerta que empresas devem começar a adotar criptografia pós-quântica para proteger seus dados no longo prazo, com a expectativa de que até 2029 a maioria das criptografias assimétricas convencionais se torne insegura. A computação híbrida combina diferentes paradigmas tecnológicos, como processadores neuromórficos e sistemas quânticos, para resolver problemas complexos. Já a computação espacial, utilizando tecnologias de realidade aumentada e virtual, promete transformar a interação entre o mundo físico e o digital, projetando um mercado de US$ 1,7 trilhões até 2033. Sensores inteligentes e etiquetas de baixo custo viabilizarão a “inteligência invisível”, que integrará monitoramento em tempo real para melhorar a logística e a gestão de estoques. Isso será fundamental para setores como varejo e logística de produtos perecíveis. Os robôs estão evoluindo para se tornarem polifuncionais, capazes de executar múltiplas tarefas e operar ao lado de humanos, promovendo eficiência e escalabilidade rápida. Até 2030, espera-se que 80% da população interaja diariamente com robôs inteligentes. Tecnologias de interfaces cérebro-máquina prometem melhorar as capacidades cognitivas humanas e otimizar o desempenho no trabalho. Embora desafiador, o aprimoramento neurológico poderá impactar significativamente o marketing e a produtividade no futuro. A sustentabilidade é uma prioridade, e tecnologias emergentes, como sistemas ópticos e neuromórficos, prometem reduzir o consumo energético em tarefas intensivas, como o treinamento de IA. Empresas estão sendo incentivadas a adotar estratégias mais eficientes para atender às demandas por uma menor pegada de carbono. A combinação de inovação responsável, segurança digital e novas formas de computação vai ajudar empresas e líderes a enfrentar os desafios da próxima década. Acompanhar essas transformações será essencial para garantir vantagem competitiva e operar com resiliência em um ambiente cada vez mais digitalizado.",
+ photoCover: "https://brandnews.com.br/images/noticias/15473/30104227_IMG_2874.jpeg"
},
{
- "id":"2",
- "title": "Nova Série anunciada no Disney +",
- "description": "bla blabla",
- "photoCover":"https://disneyplusbrasil.com.br/wp-content/uploads/2021/07/Series-Marvel-Disney-Plus-1024x576.jpg"
+ id: "2",
+ title: "Do Mundo VUCA ao Mundo BANI",
+ description: "VUCA (Volatility, Uncertainty, Complexity e Ambiguity): é um termo cunhado na década de 80\nque foi herdado do contexto militar, para tentar definir as principais características no mundo do trabalho.\nVolátil é um termo usado em Química para designar tudo que evapora no seu estado normal com facilidade, ou seja,\ntudo o que é inconstante e volúvel.\n\nIncerteza é o mesmo que dúvida, hesitação, indecisão, imprecisão.\nComplexidade é algo de difícil compreensão ou entendimento, sendo observável sob vários pontos de vista.\nAmbiguidade é a qualidade daquilo que possui ou pode possuir diferentes sentidos.\n\nPara o antropólogo e historiador Jamais Cascio, professor do Universidade da Califórnia e membro do Institute for the Future, o termo VUCA não é mais suficiente, e foi a partir dessas reflexões sobre as circunstâncias atuais, que ele cunhou o termo BANI em abril de 2020.",
+ photoCover: "https://taisguedes.com.br/wp-content/uploads/2021/02/Captura-de-Tela-2020-12-11-a%CC%80s-07.08.34-1024x576.png"
+ },
+ {
+ id: "3",
+ title: "Por que a demanda por Desenvolvedores de Software será ainda maior em 2025?",
+ description: "Seja na indústria de tecnologia ou não, todas as organizações modernas precisam adotar efetivamente ferramentas digitais. Um recente artigo da McKinsey Digital afirmou: “Cada vez mais, empresas tradicionais estão percebendo que, para competir e crescer em um mundo digital, precisam se parecer, pensar e agir como empresas de software.” Os desenvolvedores de software já são vitais para impulsionar as agendas digitais das empresas. O papel do desenvolvedor de software se tornará ainda mais crucial em 2025 e nos próximos anos. Uma das principais razões é que sua amplitude se expandiu com o surgimento de novas tecnologias, como cloud computing, inteligência artificial (IA) e blockchain. Além disso, à medida que o mundo digital se expande, aumenta também a necessidade de soluções de cibersegurança. Realidade virtual (VR) e realidade aumentada (AR) são outras áreas em que os desenvolvedores são mais necessários do que nunca. Como o mercado de software de AR e VR usado para impulsionar soluções inovadoras ainda é novo, a indústria requer que os desenvolvedores usem sua expertise e criatividade para personalizá-los. Essa expansão do papel do desenvolvedor ocorre em um momento em que muitos pensavam que seria diminuído com o surgimento de códigos gerados por IA. No entanto, desenvolver código com suporte de IA abre caminho para os desenvolvedores assumirem responsabilidades adicionais, como supervisionar o uso de códigos não gerados por humanos. Outras novas ferramentas, como desenvolvimento de “baixo código” e sem código (LCNC), também exigem supervisão humana.",
+ photoCover: "https://ubiminds.com/site/uploads/2024/03/demanda-por-desenvolvedor-de-software-ainda-maior-2024.jpg"
+ },
+ {
+ id:"4",
+ title:"Decola Tech Avanade 2025: Sua Jornada Rumo ao Futuro da Tecnologia",
+ description:"A revolução tecnológica continua e, com ela, surgem oportunidades imperdíveis para quem deseja ingressar no mercado de TI. O Decola Tech Avanade 2025 chegou para transformar carreiras, proporcionando uma trilha educacional completa para aqueles que desejam se tornar desenvolvedores full stack.Este programa é uma iniciativa incrível da DIO em parceria com a Avanade, oferecendo um caminho estruturado para oaprendizado de Spring Boot e Angular. Durante o bootcamp, os participantes terão acesso a conteúdos teóricos e práticos, desenvolvendo habilidades essenciais para atuar no setor de tecnologia. A jornada completa conta com 67 horas de aprendizado e certificação para os concluintes.O Decola Tech Avanade 2025 é destinado a estudantes de ensino superior nas áreas de exatas, com conclusão a partir de julho de 2026, e que residam nas cidades de São Paulo, Recife e regiões metropolitanas. Além disso, é necessário ter disponibilidade para atuar no modelo híbrido, das 9h às 16h.",
+ photoCover:"https://i.ytimg.com/vi/SDe73ysJzhU/maxresdefault.jpg"
}
]
diff --git a/src/app/pages/content/content.component.css b/src/app/pages/content/content.component.css
index b014aa73..6cc568bb 100644
--- a/src/app/pages/content/content.component.css
+++ b/src/app/pages/content/content.component.css
@@ -1,29 +1,41 @@
.container__content{
-
width: 100%;
- height: 100vh;
-
+ min-height: 100vh;
margin-top: 20px;
-
display: flex;
flex-direction: column;
- align-items: center;
}
-.content__cover > img{
- border:5px solid rgb(144, 144, 144);
- border-radius: 5px;
- width: 500px;
- min-width: 500px;
- height: 300px;
+.content__title > h1{
+ font-size: clamp(20px, 3vw, 35px);
}
+.content__cover > img{
+ float: left ;
+ margin-right: 10px;
+ margin-top: 10px;
+ width: 600px;
+
+ @media(max-width:850px) {
+ width: 100%;
+ margin-bottom: 15px;
+ }
+}
.content__description{
- margin-top: 15px;
+ font-size: 18px;
+ text-align: justify;
}
-.content__description > p{
- margin-top: 20px;
- color: rgb(198, 197, 197);
+a{
+ margin-left: auto;
+ align-self: flex-end;
+ padding: 0.5rem;
+ border: 1px solid black;
+ border-radius: 4px;
+ margin-bottom: 1rem;
+
+ @media(max-width:1200px) {
+ margin-top: 1rem;
+ }
}
diff --git a/src/app/pages/content/content.component.html b/src/app/pages/content/content.component.html
index 908e1e91..cf5c26ab 100644
--- a/src/app/pages/content/content.component.html
+++ b/src/app/pages/content/content.component.html
@@ -1,15 +1,12 @@
-
-
-
{{ contentTitle }}
-
-
-
<< VOLTAR
-
- {{ contentDescription }}
-
+
+
+
+ {{ contentDescription }}
+
+
<< VOLTAR
diff --git a/src/app/pages/home/home-articleForm.component.css b/src/app/pages/home/home-articleForm.component.css
new file mode 100644
index 00000000..b2450697
--- /dev/null
+++ b/src/app/pages/home/home-articleForm.component.css
@@ -0,0 +1,90 @@
+.new_post__button{
+ width: 60px;
+ height: 60px;
+ border-radius: 50%;
+ position: fixed;
+ top: 50%;
+ right: 10px;
+ cursor: pointer;
+ background-color: rgb(68, 209, 122);
+ color: whitesmoke;
+ font-weight: bold;
+}
+
+.article_form__container{
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: 100vw;
+ height: 100vh;
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ z-index: 1;
+ transform: translate(-50%,-50%);
+ background: rgba(50, 50, 50, 0.9); /* Cor de fundo semitransparente */
+
+ & form{
+ padding: 2rem;
+ display: flex;
+ flex-direction: column;
+ height: 80%;
+ width: 50%;
+ border-radius: 8px;
+
+ @media(max-width: 750px) {
+ width: 85%;
+ height: 80%;
+ }
+
+ & label{
+ margin-top: 8px;
+ }
+
+ & input{
+ padding: 10px;
+ border-radius: 4px;
+ border-bottom: 5px;
+ border: 2px solid rgb(20, 20, 20);
+ }
+
+ & textarea{
+ height: 50%;
+ border-radius: 4px;
+ border-bottom: 5px;
+ border: 2px solid rgb(20, 20, 20);
+ }
+
+ & div{
+ margin: auto 0 5px 0;
+ display: flex;
+ gap: 15px;
+
+ & button{
+ cursor: pointer;
+ padding: 1rem;
+ border-radius: 4px;
+ font-weight: 600;
+ background-color: rgb(33, 33, 33);
+ color: whitesmoke;
+ }
+
+ :nth-child(1){flex: 1}
+ :nth-child(1):hover{
+ flex: 1;
+ background-color: rgb(216, 51, 51);
+ color: white;
+ }
+
+ :nth-child(2){flex: 2}
+ :nth-child(2):hover{
+ flex: 2;
+ background-color: rgb(65, 169, 51);
+ color: white;
+ }
+ }
+
+ }
+}
+
+
diff --git a/src/app/pages/home/home.component.css b/src/app/pages/home/home.component.css
index 66a35ccf..2fa5f091 100644
--- a/src/app/pages/home/home.component.css
+++ b/src/app/pages/home/home.component.css
@@ -1,10 +1,29 @@
+.articles__main > h1{
+ margin-bottom: 1rem;
+
+}
+
+.articles__others{
+ display: flex;
+ flex-direction: column;
+ padding: 0 10px;
+}
+
+.articles__others > h1{
+ margin-bottom: 1rem;
+ @media(max-width:900px){
+ margin-top: 3rem;
+ }
+}
+
.container__articles{
margin-top: 30px;
+ display: flex;
+ justify-content: space-between;
+
+ @media(max-width: 900px) {
+ flex-direction: column;
- @media(min-width: 700px) {
- display: flex;
- flex-direction: row;
- justify-content: center;
}
}
diff --git a/src/app/pages/home/home.component.html b/src/app/pages/home/home.component.html
index fc6ee548..75ae455b 100644
--- a/src/app/pages/home/home.component.html
+++ b/src/app/pages/home/home.component.html
@@ -1,21 +1,53 @@
-
-
-
-
-
+
+
+
+
Últimos adicionados
+
+
-
+
-
\ No newline at end of file
+
New Post
\ No newline at end of file
diff --git a/src/app/pages/home/home.component.ts b/src/app/pages/home/home.component.ts
index 007fef0a..f9826a3e 100644
--- a/src/app/pages/home/home.component.ts
+++ b/src/app/pages/home/home.component.ts
@@ -1,15 +1,29 @@
import { Component, OnInit } from '@angular/core';
+import { Post } from 'src/app/types/postType';
+import { dataFake } from 'src/app/data/dataFake';
@Component({
selector: 'app-home',
templateUrl: './home.component.html',
- styleUrls: ['./home.component.css']
+ styleUrls: ['./home.component.css','./home-articleForm.component.css']
})
-export class HomeComponent implements OnInit {
+export class HomeComponent{
+
+ posts:Post[] = dataFake;
+ formVisible:boolean = false;
- constructor() { }
+ newPost:Post = {
+ id: '',
+ title: '',
+ description: '',
+ photoCover: ''
+ }
- ngOnInit(): void {
+ switchFormVisibility():void{
+ this.formVisible = !this.formVisible;
}
+ addNewPost():void{
+ this.posts.unshift(this.newPost);
+ }
}
diff --git a/src/app/service/theme.service.ts b/src/app/service/theme.service.ts
index ced9c525..57f50bd5 100644
--- a/src/app/service/theme.service.ts
+++ b/src/app/service/theme.service.ts
@@ -5,17 +5,19 @@ import { Injectable } from '@angular/core';
})
export class ThemeService {
- dark:boolean = true;
+ dark:boolean = false;
public switchTheme(){
this.dark = !this.dark
if(this.dark){
- document.documentElement.style.setProperty("--background-color","#111111")
+ document.documentElement.style.setProperty("--background-color","#131313")
document.documentElement.style.setProperty("--text-color","whitesmoke")
+ document.documentElement.style.setProperty("--border-color","whitesmoke")
}else{
document.documentElement.style.setProperty("--background-color","whitesmoke")
- document.documentElement.style.setProperty("--text-color","#111111")
+ document.documentElement.style.setProperty("--text-color","#131313")
+ document.documentElement.style.setProperty("--border-color","#2b2b2b")
}
}
diff --git a/src/app/types/postType.ts b/src/app/types/postType.ts
new file mode 100644
index 00000000..3171848b
--- /dev/null
+++ b/src/app/types/postType.ts
@@ -0,0 +1,6 @@
+export type Post = {
+ id: string,
+ title:string,
+ description:string,
+ photoCover:string
+}
\ No newline at end of file
diff --git a/src/index.html b/src/index.html
index 2df7b63b..aee3214f 100644
--- a/src/index.html
+++ b/src/index.html
@@ -2,7 +2,7 @@
-
MARVEL BLOG +
+
DEV'S BLOG
diff --git a/src/styles.css b/src/styles.css
index f482eb2d..25f5f283 100644
--- a/src/styles.css
+++ b/src/styles.css
@@ -1,8 +1,10 @@
/* You can add global styles to this file, and also import other style files */
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Tiny5&display=swap');
:root {
- --background-color: #111111;
- --text-color: whitesmoke;
+ --background-color: whitesmoke;
+ --text-color: #131313;
+ --border-color: #2b2b2b
+ --box-shadow: box-shadow: rgba(255, 255, 255, 0.2) 0px 2px 8px;
}
*{
@@ -12,8 +14,14 @@
font-family: 'Poppins', sans-serif;
background-color: var(--background-color);
color:var(--text-color) ;
+ border-color: var(--border-color) !important;
transition: all 0.2s;
}
a{
text-decoration: none;
}
+
+body{
+ width: 90vw;
+ margin: 0 auto;
+}
From 44a081794ea4376e55eca4e3f2829d7fbbf4bd1f Mon Sep 17 00:00:00 2001
From: Alisson Gabriel Pereira de Lima
<147565148+AlissonLimaG@users.noreply.github.com>
Date: Wed, 19 Mar 2025 19:08:11 -0300
Subject: [PATCH 3/4] fix: Concertando responsividade em telas maiores
---
src/app/pages/home/home.component.css | 4 ++--
src/styles.css | 1 +
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/app/pages/home/home.component.css b/src/app/pages/home/home.component.css
index 2fa5f091..4b25471f 100644
--- a/src/app/pages/home/home.component.css
+++ b/src/app/pages/home/home.component.css
@@ -1,6 +1,5 @@
.articles__main > h1{
margin-bottom: 1rem;
-
}
.articles__others{
@@ -20,11 +19,12 @@
margin-top: 30px;
display: flex;
justify-content: space-between;
+ gap: 4rem;
@media(max-width: 900px) {
flex-direction: column;
-
}
+
}
diff --git a/src/styles.css b/src/styles.css
index 25f5f283..3571ad69 100644
--- a/src/styles.css
+++ b/src/styles.css
@@ -23,5 +23,6 @@ a{
body{
width: 90vw;
+ max-width: 1600px;
margin: 0 auto;
}
From 69b7a34227f43beaafaaf660b6cc14024f761773 Mon Sep 17 00:00:00 2001
From: Alisson Gabriel Pereira de Lima
<147565148+AlissonLimaG@users.noreply.github.com>
Date: Wed, 19 Mar 2025 19:47:23 -0300
Subject: [PATCH 4/4] =?UTF-8?q?docs:=20Atualizando=20documenta=C3=A7=C3=A3?=
=?UTF-8?q?o?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 75 +++++++++++++++++++++++++++-------
assets/addArticle.png | Bin 0 -> 116636 bytes
assets/articleAdded.png | Bin 0 -> 119611 bytes
assets/articleDark.png | Bin 0 -> 318618 bytes
assets/articleLight.png | Bin 0 -> 318040 bytes
assets/articleMobileDark.png | Bin 0 -> 105075 bytes
assets/articleMobileLight.png | Bin 0 -> 105019 bytes
assets/formMobileDark.png | Bin 0 -> 16510 bytes
assets/formMobileLight.png | Bin 0 -> 16823 bytes
assets/homeDark.png | Bin 0 -> 237310 bytes
assets/homeLight.png | Bin 0 -> 248687 bytes
assets/homeMobileDark.png | Bin 0 -> 89066 bytes
assets/homeMobileLight.png | Bin 0 -> 91417 bytes
13 files changed, 61 insertions(+), 14 deletions(-)
create mode 100644 assets/addArticle.png
create mode 100644 assets/articleAdded.png
create mode 100644 assets/articleDark.png
create mode 100644 assets/articleLight.png
create mode 100644 assets/articleMobileDark.png
create mode 100644 assets/articleMobileLight.png
create mode 100644 assets/formMobileDark.png
create mode 100644 assets/formMobileLight.png
create mode 100644 assets/homeDark.png
create mode 100644 assets/homeLight.png
create mode 100644 assets/homeMobileDark.png
create mode 100644 assets/homeMobileLight.png
diff --git a/README.md b/README.md
index 6f976c30..71dac671 100644
--- a/README.md
+++ b/README.md
@@ -1,27 +1,74 @@
-# AngularBlog
+# 📌 Dev's Blog
-This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 14.1.2.
+## 📖 Sobre o projeto
+Este projeto foi desenvolvido com Angular 14.1.3 como parte de um desafio da DIO para o Decola Tech 2025, onde realizei um fork do repositório original do professor, como foi recomendado, e implementei diversas melhorias e novas funcionalidades.
-## Development server
+O Blog Dev tem como objetivo ser um espaço onde desenvolvedores podem acompanhar tendências de mercado, oportunidades de trabalho e novidades do mundo da tecnologia!
-Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files.
+## 🚀 Como testar
-## Code scaffolding
+### Pré-requisitos
+- Node.js instalado (versão recomendada: 16.x ou superior)
+- Angular CLI instalado globalmente (`npm install -g @angular/cli`)
-Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.
+### Passos
+1. Clone o repositório:
+ ```sh
+ git clone https://github.com/AlissonLimaG/angular-blog.git
+ ```
+2. Acesse o diretório do projeto:
+ ```sh
+ cd nome-do-projeto
+ ```
+3. Instale as dependências:
+ ```sh
+ npm install
+ ```
+4. Inicie o servidor de desenvolvimento:
+ ```sh
+ ng serve
+ ```
+5. Acesse o projeto no navegador:
+ ```
+ http://localhost:4200
+ ```
-## Build
+## 🔥 Alterações e incrementos
+- **Adicionado um formulário** para cadastro de novos artigos e notícias.
+- **Modo claro e escuro** implementado para melhor experiência do usuário.
+- **Melhorias na responsividade**, garantindo que o blog funcione bem em diferentes dispositivos.
+- **Pequenas animações** para tornar a navegação mais fluida e agradável.
-Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory.
+## 🖼️ Capturas de tela
+- ### Home Desktop
+
+
-## Running unit tests
+- ### Home Mobile
+
+
-Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
+- ### Article Desktop
+
+
-## Running end-to-end tests
+- ### Article Mobile
+
+
-Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.
+- ### Form Desktop
+
-## Further help
+- ### New Article Desktop
+
+
+- ### Form Mobile
+
+
+
+
+## ⏭️ Próximos passos
+- Implementar **validação no formulário** de artigos para garantir dados mais estruturados e consistentes.
+- Melhorar ainda mais a **experiência do usuário** com ajustes visuais e usabilidade.
+- Explorar **novas funcionalidades**, como categorias e filtros de artigos.
-To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
diff --git a/assets/addArticle.png b/assets/addArticle.png
new file mode 100644
index 0000000000000000000000000000000000000000..3e65292924ea58c2bdc661126907a5ad445a6d4b
GIT binary patch
literal 116636
zcmcG$cR1JW|33bb(nLa}BDzENNJ&VN3Z;Z3nHeE_XOA>!NmNEEWsf9#uS#ZSvJ=W4
zA>?~r-Jj3<`2LRH@1NgyIPT-P?;Ee@xUR=IALn^qZk{=PoOT1-1`35jd-8;W8ihhV
zNTIA!SVx2JI8bSvz`s`8%b!$VhcEYamv7+zw>ccsayVyg;^1sxXG}4*vc768Xm4a^
zY;0w3X6-OeT_lTN;wHaz)Xvzz;fl4@F7+!{jVZQ{2D?NL?z(DVw@XY!OalKcC3-+g
z^x%`#*IrR5yC^3Wj;OmtjC8s>FliL7ov
!hNPBh8I}zt|4Z3@ZHlwZ+Kh^uPc0
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