diff --git a/site/assets/db/dbmatheus.json b/site/assets/db/dbmatheus.json new file mode 100644 index 0000000..80a2fb7 --- /dev/null +++ b/site/assets/db/dbmatheus.json @@ -0,0 +1,52 @@ +{ + "boa": { + "title": "Se você é uma dessas pessoas sortudas que conseguem viver confortavelmente e ainda têm uma boa parte da renda sobrando no final do mês, parabéns! É hora de maximizar seu potencial financeiro. Aqui estão algumas dicas:", + "tip1": { + "subtitle": "Investimentos Inteligentes:", + "content": "Com uma renda mais elevada, você tem a oportunidade de explorar uma ampla gama de investimentos. Considere diversificar seu portfólio em diferentes classes de ativos, como ações, títulos e imóveis. A diversificação pode ajudar a maximizar retornos e reduzir riscos." + }, + "tip2": { + "subtitle": "Fundo de Emergência:", + "content": "Apesar de viver abaixo dos seus meios, imprevistos podem acontecer. É fundamental ter um fundo de emergência robusto. Recomenda-se ter o equivalente a pelo menos seis meses de despesas em uma conta de fácil acesso, como uma poupança ou conta corrente remunerada." + }, + "tip3": { + "subtitle": "Planejamento Tributário:", + "content": "Com uma renda mais alta, você pode se beneficiar de estratégias inteligentes de planejamento tributário. Explore opções como deduções fiscais, investimentos com benefícios fiscais e planos de previdência privada. Planejar adequadamente seus impostos pode resultar em economias significativas a longo prazo." + } + }, + "normal": { + "title": "Se você está confortável com sua renda, mas deseja aproveitar ao máximo suas finanças, aqui estão algumas dicas para otimizar seus recursos:", + "tip1": { + "subtitle": "Orçamento Inteligente:", + "content": "Mesmo com uma renda considerada normal, é essencial ter um orçamento bem planejado. Acompanhe seus gastos e identifique áreas onde você pode economizar. Reduzir despesas desnecessárias pode liberar recursos para investimentos ou para construir um fundo de emergência." + }, + "tip2": { + "subtitle": "Investimentos Estratégicos:", + "content": "Embora possa não ter a mesma amplitude de opções que pessoas com renda mais alta, ainda é possível fazer investimentos inteligentes. Considere opções acessíveis, como fundos de investimento de baixo custo ou plataformas de investimento online. Busque por oportunidades que ofereçam um equilíbrio entre retorno e risco." + }, + "tip3": { + "subtitle": "Educação Financeira:", + "content": "Investir em sua própria educação financeira pode ser uma das melhores decisões que você pode tomar. Procure por recursos gratuitos ou de baixo custo, como livros, cursos online ou workshops locais, para aprimorar seu conhecimento sobre finanças pessoais e investimentos." + } + }, + "ruim": { + "title": "Mesmo enfrentando desafios financeiros, é crucial ter um plano orçamentário sólido. Acompanhe atentamente seus gastos e identifique áreas onde cortes podem ser feitos. Priorize despesas essenciais, como moradia, alimentação e saúde, e busque maneiras de reduzir custos nessas áreas sem comprometer sua qualidade de vida.", + "tip1": { + "subtitle": "Economia Criativa:", + "content": "Quando os recursos são limitados, a criatividade pode ser sua aliada. Explore opções como comprar itens usados, fazer trocas com amigos ou familiares e buscar por descontos e promoções. Além disso, considere formas de aumentar sua renda, como trabalhos freelancer ou oportunidades de meio período." + }, + "tip2": { + "subtitle": "Planejamento de Longo Prazo:", + "content": "Mesmo com recursos limitados, é importante pensar no futuro. Estabeleça metas financeiras realistas e desenvolva um plano para alcançá-las gradualmente. Isso pode envolver economizar uma pequena quantia regularmente, mesmo que pareça insignificante no momento, e procurar por oportunidades de crescimento financeiro a longo prazo." + }, + "tip3": { + "subtitle": "Educação Financeira Acessível:", + "content": "Aprender sobre finanças pessoais não precisa ser caro. Procure por recursos gratuitos ou de baixo custo, como workshops comunitários, materiais educativos online e programas governamentais de educação financeira. Invista tempo e esforço em melhorar sua compreensão sobre gestão financeira, para tomar decisões mais informadas e eficazes no futuro." + }, + "tip4": { + "subtitle": "Resiliência e Persistência:", + "content": "Enfrentar dificuldades financeiras pode ser desafiador, mas é importante manter uma atitude positiva e persistente. Esteja aberto a aprender com seus erros, ajustar sua abordagem conforme necessário e buscar apoio em sua rede de apoio pessoal e comunitário. Com determinação e esforço, é possível superar obstáculos financeiros e alcançar maior estabilidade econômica." + } + + } +} \ No newline at end of file diff --git a/site/assets/estilos/meu.css b/site/assets/estilos/meu.css new file mode 100644 index 0000000..66b4298 --- /dev/null +++ b/site/assets/estilos/meu.css @@ -0,0 +1,120 @@ +#sugesttitle { + background-color: white; + margin-bottom: 0; + border-radius: 5%; + text-align: center; + } + + #sugestbox { + margin: 1% 5%; + box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px; + border-radius: 3%; + } + + .card-group { + display: flex; + justify-content: space-around; + flex-wrap: wrap; + gap: 10px; /* Ajuste a distância entre os cards conforme necessário */ + } + + .card { + background: white; + border-radius: 8px; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); + overflow: hidden; + width: 30%; + transition: transform 0.3s ease; + text-align: center; + } + + .card:hover { + background-color: lightgray; + transform: scale(0.95); + } + + .card img { + width: 100%; + height: auto; + } + + .linksugest { + text-decoration: none; + color: inherit; + font-family: 'Roboto', Arial, sans-serif; + } + + .linksugest:hover { + text-decoration: underline; + font-style: italic; + } + + .problem-item a { + color: #333; + text-decoration: none; + transition: color 0.3s ease; + font-family: 'Roboto', Arial, sans-serif; + } + + .problem-item a:hover { + color: #4CAF50; + } + + .section { + background: white; + padding: 20px; + margin-bottom: 20px; + border-radius: 5px; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); + } + + .content { + max-width: 800px; + margin: 50px auto; + padding: 20px; + background-color: #fff; + border-radius: 8px; + box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1); + } + + .section-title { + color: green; + font-size: 20px; + margin-top: 30px; + } + + p { + color: #666; + font-size: 16px; + line-height: 1.6; + } + + #Good { + font-family: 'Roboto', Arial, sans-serif; + margin: 0; + padding: 0; + background-color: #f2f2f2; + } + + .LinkBeter { + color: #4CAF50; + text-decoration: none; + font-weight: bold; + } + + .LinkBeter:hover { + color: #388E3C; + text-decoration: underline; + cursor: pointer; + } + + .card img { + width: 100%; + height: auto; + transition: transform 0.3s ease; /* Adiciona a transição suave */ + } + + .card img:hover { + transform: scale(1.4); /* Aumenta a imagem */ + } + \ No newline at end of file diff --git a/site/assets/estilos/style.css b/site/assets/estilos/style.css index aa75545..21d901d 100644 --- a/site/assets/estilos/style.css +++ b/site/assets/estilos/style.css @@ -704,7 +704,10 @@ footer a:hover{ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/ - +.lll{ + color: inherit; /* Inherit pega a cor do elemento pai */ + text-decoration: none; /* Remove o sublinhado */ +} /*SAMUEL - INÍCIO diff --git a/site/assets/images/credit.jpg b/site/assets/images/credit.jpg new file mode 100644 index 0000000..fcb77b6 Binary files /dev/null and b/site/assets/images/credit.jpg differ diff --git a/site/assets/images/emprest.jpg b/site/assets/images/emprest.jpg new file mode 100644 index 0000000..d622c41 Binary files /dev/null and b/site/assets/images/emprest.jpg differ diff --git a/site/assets/images/invest.jpg b/site/assets/images/invest.jpg new file mode 100644 index 0000000..e2dcba0 Binary files /dev/null and b/site/assets/images/invest.jpg differ diff --git a/site/assets/script/index.js b/site/assets/script/index.js new file mode 100644 index 0000000..00df6ea --- /dev/null +++ b/site/assets/script/index.js @@ -0,0 +1,70 @@ +const http = require("http"); +const fs = require("fs"); +const path = require("path"); +const url = require("url"); + +const server = http.createServer((req, res) => { + const { pathname } = url.parse(req.url, true); + + if (req.method === "POST" && pathname === "/processar_categorias") { + let data = ""; + req.on("data", (chunk) => { + data += chunk; + }); + req.on("end", () => { + const categorias = JSON.parse(data).categorias; + // Aqui você pode processar as categorias recebidas como desejar + console.log("Categorias recebidas:", categorias); + + // Respondendo ao cliente + res.writeHead(200, { "Content-Type": "application/json" }); + res.end( + JSON.stringify({ + message: "Categorias recebidas com sucesso!", + }), + ); + }); + } else { + let filePath = path.join( + __dirname, + "site", + pathname === "/" ? "/telas/CadastroCategoria.html" : pathname, + ); + + // Verifica a extensão do arquivo para definir o tipo de conteúdo correto + const extname = path.extname(filePath); + let contentType = "text/html"; + switch (extname) { + case ".js": + contentType = "text/javascript"; + break; + case ".css": + contentType = "text/css"; + break; + case ".json": + contentType = "application/json"; + break; + case ".png": + contentType = "image/png"; + break; + case ".jpg": + contentType = "image/jpg"; + break; + } + + fs.readFile(filePath, (err, data) => { + if (err) { + res.writeHead(404); + res.end(JSON.stringify(err)); + return; + } + res.writeHead(200, { "Content-Type": contentType }); + res.end(data); + }); + } +}); + +const PORT = process.env.PORT || 3000; +server.listen(PORT, () => { + console.log(`Server running on port ${PORT}`); +}); diff --git a/site/assets/script/meu.js b/site/assets/script/meu.js new file mode 100644 index 0000000..a3c6978 --- /dev/null +++ b/site/assets/script/meu.js @@ -0,0 +1,29 @@ +document.addEventListener('DOMContentLoaded', () => { + fetch('/path/to/data.json') // Certifique-se de fornecer o caminho correto para o arquivo JSON + .then(response => response.json()) + .then(data => { + const situation = data.normal; + document.getElementById('title').innerText = situation.title; + + const tipsContainer = document.getElementById('tips'); + for (let key in situation) { + if (key.startsWith('tip')) { + const tip = situation[key]; + const tipElement = document.createElement('div'); + + const subtitle = document.createElement('h3'); + subtitle.classList.add('section-title'); + subtitle.innerText = tip.subtitle; + + const content = document.createElement('p'); + content.innerText = tip.content; + + tipElement.appendChild(subtitle); + tipElement.appendChild(content); + + tipsContainer.appendChild(tipElement); + } + } + }) + .catch(error => console.error('Erro ao carregar o JSON:', error)); + }); \ No newline at end of file diff --git a/site/assets/script/verificar_permissoes.js b/site/assets/script/verificar_permissoes.js new file mode 100644 index 0000000..9d2dfa1 --- /dev/null +++ b/site/assets/script/verificar_permissoes.js @@ -0,0 +1,38 @@ +document + .getElementById("enviarCategorias") + .addEventListener("click", function () { + const categoriaInput = document.querySelector( + 'input[name="categoria"]', + ); + const valorInput = document.querySelector('input[name="valor"]'); + + const data = { + categoria: categoriaInput.value, + valor: valorInput.value, + }; + fetch( + "https://d9785d6e-affa-4a12-8d5f-c2321e97bb61-00-toke8mdh1vjb.riker.replit.dev/categorias", + { + // Atualize o endpoint conforme necessário + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify(data), + }, + ) + .then((response) => { + if (response.ok) { + return response.json(); + } + throw new Error("Erro ao enviar categorias para o servidor."); + }) + .then((data) => { + console.log("Categorias enviadas com sucesso:", data); + alert("Categorias enviadas com sucesso para o banco de dados."); + }) + .catch((error) => { + console.error("Erro:", error.message); + alert("Erro ao enviar categorias para o banco de dados."); + }); + }); diff --git a/site/telas/SugestBad.html b/site/telas/SugestBad.html new file mode 100644 index 0000000..e8d283c --- /dev/null +++ b/site/telas/SugestBad.html @@ -0,0 +1,66 @@ + + + + + + + Cartão de Crédito + + + + + + + +
+

+
+
+ + + + + diff --git a/site/telas/SugestGood.html b/site/telas/SugestGood.html new file mode 100644 index 0000000..47679ee --- /dev/null +++ b/site/telas/SugestGood.html @@ -0,0 +1,66 @@ + + + + + + + Cartão de Crédito + + + + + + + +
+

+
+
+ + + + + diff --git a/site/telas/SugestNormal.html b/site/telas/SugestNormal.html new file mode 100644 index 0000000..7265633 --- /dev/null +++ b/site/telas/SugestNormal.html @@ -0,0 +1,53 @@ + + + + + + + Cartão de Crédito + + + + + + + +
+

+
+
+ + + + + diff --git a/site/telas/cadastro.html b/site/telas/cadastro.html index 4fc9cbf..185e304 100644 --- a/site/telas/cadastro.html +++ b/site/telas/cadastro.html @@ -1,12 +1,60 @@ - + - - - - Wise Wallet © - - - - - - \ No newline at end of file + + + + Wise Wallet © + + + + + +
+ +
+
+

Cadastro de Categorias

+
+
+ +

+
+
+ +

+
+
+ APOS DIGITAR A CATEGORIA ENVIE PARA O SERVIDOR(SALVAMOS SOMENTE UMA + CATEGORIA POR VEZ)
+ + +
+ + diff --git a/site/telas/resultfinal.html b/site/telas/resultfinal.html index bbfd839..fb351de 100644 --- a/site/telas/resultfinal.html +++ b/site/telas/resultfinal.html @@ -6,6 +6,7 @@ Wise Wallet © + @@ -61,45 +62,39 @@

Trajetória de gastos variáveis

-
-

- Sugestões Financeiras -

-
-