Jump to content
  • 0
Pedro Tavares

Qual valor cobrar por um hotsite.

Question

Olá.

 Me formei recentemente em Design Gráfico e tive matérias de desenvolvimento web e desenvolvi meu próprio site portfólio. Me sinto minimamente preparado para desenvolver um site. Fui solicitado para fazer um hotsite, front e Backend e não faço a menor ideia de qual valor cobrar. Podem me ajudar dizendo qual valor vocês cobram para um hotsite, one Page?

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0
Em 25/11/2018 at 13:02, Pedro Tavares disse:

Olá.

 Me formei recentemente em Design Gráfico e tive matérias de desenvolvimento web e desenvolvi meu próprio site portfólio. Me sinto minimamente preparado para desenvolver um site. Fui solicitado para fazer um hotsite, front e Backend e não faço a menor ideia de qual valor cobrar. Podem me ajudar dizendo qual valor vocês cobram para um hotsite, one Page?

Você pode estimar um valor por hora pelo seu trabalho. Tem vários guias, artigos com o tópico de quanto cobrar por um site mas nenhum é 100% exato no valor de quanto você deve cobrar. Até porque é subjetivo, algo que você deve calcular para fazer sentido pra você. 

Share this post


Link to post
Share on other sites
  • 0

Quanto você deve cobrar acho que ninguém pode lhe dizer tal coisa, só lhe dar sugestões.

 

Bom, minha sugestão é dizer como eu cobro.

O cliente chega a mim, conversarmos sobre o que ele deseja, faço um parecer, e esclareço a ele cada aspecto que ele imaginou;

Repasso o cliente até uma amiga minha que cuida da parte mais fácil que é o front-end, design etc "parte gráfica em geral"...

Ela então cria alguns slides e apresenta ao cliente. Até chegar o que o cliente espera.

Com tudo acertado, sabemos quanto tempo vamos levar para desenvolver. Então calculamos o valor com base no salário mínimo X dias trabalhados.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Bobrinha
      Olá, estou com um probleminha e não estou achando uma solução amigável e agradeço desde de já qualquer ajuda.
       
      Bom ao usar o php com o file_get_contents e buscar a URL https://www.udemy.com/api-2.0/courses/2064455?fields[course]=title,headline,price ela me retorna o price ou seja o preço em dolar, no entanto se eu jogar essa URL no navegador diretamente ela retorna o valor em real.
       
      O mesmo acontece se eu jogar no jquery com ajax e puxar a url no meu pc e no servidor web o preço fica em dolar mais se jogar diretamente no navegador fica em real o valor 
       
      Alguém saberia por que? 
    • By Loconarrativo
      Bom, no meu form, eu peço para o cliente digitar um valor (esse valor em reais), mas para continuar eu preciso me certificar que a variável que contem o valor, tenha 16 dígitos ao total, então se a pessoa digita uma 1000.00, eu preciso completar com 9 zeros a esquerda (fica assim 0000000001000.00), para eu saber quantos dígitos tem na variável, eu faço
      $i = strlen( $_POST['valor']);   ai eu faço
      $u = 8 - $i ; eu tenho o numero de zeros que preciso colocar a esquerda, mas como eu transformo isso em vários zeros? 
    • By ammorei
      Oi Pessoal, blz?!?!?
       
      Estou precisando da ajuda de vocês novamente.
      Alguém poderia analisar meu código e verificar o que estou fazendo errado. O código abaixo só me retorna 0, sendo que se eu der o mesmo comando no MySQL ele me mostra os valores.
       
      <?php $con=mysqli_connect("localhost","root","root1","retencao_alunos"); mysqli_set_charset($con, 'utf8'); // Check connection if (mysqli_connect_errno()) { echo "Falha na Conexão com o BD: " . mysqli_connect_error(); } echo "<h2>WHILE</h2>"; $m = 1; while($m<=12) { $sel = "SELECT count(*) AS quant FROM retencao WHERE ano=2018 AND month(data)='.$m.'"; $sql = mysqli_query($con,$sel); $row = mysqli_fetch_array($sql); $tot = $row['quant']; echo $tot; echo ", <br>"; $m++; } mysqli_close($con); ?> Lembrando que sou iniciante, então fiquem a vontade para sugerir melhorias.
      Fico no aguardo... Obrigado!!
    • By Eliabe Andrade
      Boa noite pessoal, estou iniciando em programação web, e já estou desenvolvendo um projeto pequeno para a empresa que trabalho e a minha dificuldade é a seguinte, possuo um campo SELECT/OPTION, onde o usuário seleciona o produto e  caso ele queira adicionar mais produtos é só clicar no botão adicionar, até tudo ok, a minha dificuldade esta em fazer com que os valores dos produtos se somem em um INPUT, até consegui exibir o valor mas quando adiciono mais um campo e seleciono o produto, ao invés dele somar ele substitui o valor do produto anterior, segue abaixo meu teste que até agora por zilhões de tentativas não obtive exito e agora peço ajuda aos senhores que tem mais experiência.
       
      <?php include_once("../conexao/conexao.php"); $conexao = conexao::getInstance(); $sql = "SELECT * FROM produtos"; $stm = $conexao->prepare($sql); $stm->execute(); $produtos = $stm->fetchAll(PDO::FETCH_OBJ); ?> <!doctype html> <html lang="pt-br"><head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Cadastro de Cliente</title> <link rel="stylesheet" type="text/css" href="../administrativo/css/bootstrap.min.css" rel="stylesheet" media="screen"> <link href="../administrativo/css/bootstrap-datetimepicker.min.css" rel="stylesheet" media="screen"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="../administrativo/js/jquery.mask.js"></script> <style type="text/css"> body { margin: 0; padding: 0;} .box { margin: 0 auto; width: 800px;} #fieldsHidden{ display:none;} #alvo{padding:10px 5px;} .margens{ margin-left: 2px; margin-right: 2px; } #p{ margin-left: 2px; margin-right: 2px; } </style> <script type="text/javascript"> $(document).ready(function(){ $('body').on('change','.prod_tipo' , function() { var id = $(this).data('id'); $('#' + id).val($(this).find(':selected').data('valor')); }); $('body').on('change','.prod_tipo' , function() { function convertMoeda(n, c, d, t) { c = isNaN(c = Math.abs(c)) ? 2 : c, d = d == undefined ? "," : d, t = t == undefined ? "." : t, s = n < 0 ? "-" : "", i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0; return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : ""); } var id = $(this).data('id'); var soma = 0; $(this).find(':selected').each(function(id, element){ soma = soma + parseFloat($(element).data('somar_valor' + id)) }) $('#valor_total').val(convertMoeda(soma)); }); var contar = 1; $("#add").on('click', function(){ var select = '<div class="form-group"><div class="form-inline row margens">'; select += '<div class="form-group col">'; select += '<label for="vnd_tipo_vendedor" class="label label-small" style="color: black;">TIPO PRODUTO:</label><br><select data-id="' + contar + '" data-conta_campos="' + contar + '" class="form-control custom-select prod_tipo" name="prod_tipo[]" id="prod_tipo" data-error="Por favor, selecione um produto." required><option value="" >PRODUTO: </option><?php foreach($produtos as $produto): ?><option value="<?= $produto->produto ?>" name="id" data-valor="<?= number_format($produto->valor, 2, ',','.') ?>" data-somar_valor0="<?= $produto->valor ?>" ><?= $produto->produto ?></option><?php endforeach;?></select>'; select += '<div class="help-block with-errors"></div></div>'; select += '&nbsp;<div class="form-group col">'; select +='<label for="vnd_tipo_vendedor" class="label label-small" style="color: black;">VALOR:</label><br><div class="input-group"><span class="input-group-addon">R$</span><input id="' + contar + '" class="form-control dinheiro" id="prod_valor" name="prod_valor[]" type="text" value="" size="6" required></div>'; select +='<div class="help-block with-errors"></div></div>'; select +='</div>&nbsp;<button type="button" class="btn btn-danger btn-sm del" id="add"><span class="glyphicon glyphicon-minus"></span>&nbsp;Remover</button></div>'; contar++; $("#produtos").append(select); return false; }); $(document).on('click', '.del', function(){ $(this).parent().remove(); }); }); </script> <script type="text/javascript"> $(document).ready(function(){ //$('#cod_cli').mask('999999999'); //$('#rg').mask('99.999.999', {reverse: true}); //$('.cpf').mask('000.000.000-00', {reverse: true}); //$('#cep').mask('99.999-999'); //$('#telefone').mask('(99) 9999-9999'); //$('#celular').mask('(99) 99999-9999'); //$('#exame').mask('000.000.000.000.000,00', { // reverse: true //}); //$('#armacao').mask('000.000.000.000.000,00', { // reverse: true //}); //$('#prod_valor').mask('000.000.000.000.000,00', { // reverse: true //}); $('.dinheiro').mask('000.000.000.000.000,00', { reverse : true }); }); </script> </head> <body> <div class='container-fluid'> <button type="button" class="btn btn-primary btn-sm" id="add"><span class="glyphicon glyphicon-plus"></span>&nbsp;Adicionar Produto</button><br><br> <form class="form form-inline" action="" method="post"> <fieldset> <div class="form-group"> <div class="form-inline row margens"> <div class="form-group col"> <label for="prod_tipo" class="label label-small" style="color: black;">TIPO DE PRODUTO:</label><br> <select data-id="0" data-conta_campos="0" class="form-control custom-select prod_tipo" name="prod_tipo[]" id="prod_tipo" data-error="Por favor, selecione um produto." required > <option value="" >PRODUTO: </option> <?php foreach($produtos as $produto): ?> <option value="<?= $produto->produto ?>" name="id" data-valor="<?= number_format($produto->valor, 2, ',','.') ?>" data-somar_valor0="<?= $produto->valor ?>" ><?= $produto->produto ?></option> <?php endforeach;?> </select> <div class="help-block with-errors"></div> </div> <div class="form-group col"> <label for="prod_valor" class="label label-small" style="color: black;">VALOR:</label><br> <div class="input-group"> <span class="input-group-addon">R$</span> <input class="form-control dinheiro" id="0" name="prod_valor[]" type="text" value="" size="6" required> </div> <div class="help-block with-errors"></div> </div> </div> </div><br> <div class="form-group"> <div class="form-inline row margens" id="produtos"> <!-- INPUT'S DINAMICOS --> </div> </div><br> <div class="form-group"> <div class="form-inline row margens"> <div class="form-group col"> <label for="prod_valor" class="label label-small" style="color: black;">VALOR TOTAL:</label><br> <div class="input-group"> <span class="input-group-addon">R$</span> <input type="text" name="valor_total" id="valor_total" class='form-control dinheiro'/> </div> <div class="help-block with-errors"></div> </div> </div> </div> </fieldset> </form> </div> </body> <script src="../administrativo/js/bootstrap.min.js"></script> </html>  
    • By Nova Ourora
      Olá estou criando um sistema aqui na loja, preciso que quando digite o código de barras ele pegue no banco de dados descrição do produto com seu preço, e apareça em uma lista.
       
      (Quer dizer que  só  colocar o código do produto e que o preço do produto e o nome do produto devem aparecer automaticamente e  ir adicionando automaticamente o total gasto.)
       
       
      <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="mobile-web-app-capable" content="yes"> <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --> <title>Caixa Loja</title> <!-- Bootstrap --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous"> <link rel="stylesheet" href="assets/js/chosen/docsupport/prism.css"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/chosen/1.8.2/chosen.css"> <link href="//maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css"> <script src="//maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script> <script src="//code.jquery.com/jquery-1.11.1.min.js"></script> <!------ Include the above in your HEAD tag ----------> <style> .delete {cursor: pointer;} .chosen-results li {font-size: 11px;} .table-produtos tbody tr td {font-size: 12px;} </style> <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <![endif]--> </head> <body> <div class="container mt-3"> <div class="row"> <div class="col"> <div class="card"> <div class="card-header"> Lançamento de Produtos </div> <div class="card-block"> <form class="form-inline"> <select class="form-control" id="nmProduto" style="max-width: 300px;"> <option value="">Entre com o Codigo de Barras</option> </select> <label class="sr-only" for="inlineFormInput">Quantidade</label> <input type="text" class="form-control mb-2 mr-sm-2 mb-sm-0 ml-sm-2" id="qtProduto" placeholder="Quant" style="width:70px"> <label class="sr-only" for="inlineFormInput">Valor</label> <input type="text" class="form-control mb-2 mr-sm-2 mb-sm-0" id="vlProduto" placeholder="Valor (R$)" style="width:98px"> <button type="submit" class="btn btn-primary" id="btnAdicionarProduto">+</button> <p class="text-danger ml-3 pt-2 invisible" id="msgValidaForm">Favor preencher <strong>todos os campos</strong> do produto!</p> </form> <table class="table table-sm table-striped mt-3 table-produtos"> <thead> <tr> <th style="max-width: 600px;">Produto</th> <th>Quantidade</th> <th class="text-right pr-5">Valor (R$)</th> <th class="text-right pr-5 vlTotalProduto">Total</th> <th>Ação</th> </tr> </thead> <tbody> </tbody> <tfoot class="invisible"> <tr> <th></th> <th></th> <th class="text-right">SubTotal ❯</th> <th class="text-right pr-5" id="vlTotalPedido"></th> <th></th> </tr> </tfoot> </table> </div> </div> </div> </div> </div> <script> $("document").ready(function(){ /* Produto recebe o foco ao chamar o sistema */ $("#nmProduto").chosen().trigger('chosen:activate'); /* Quando o produto for selecionado, a quantidade recebe o foco */ $("#nmProduto").change(function(){ $("#qtProduto").focus(); }) /* Adiciona a máscara ao input do valor do produto ( plugin mask utilizado ) */ $('#vlProduto').mask("00000.00",{reverse: true}); /* Adiciona a máscara ao input de quantidade do produto ( plugin mask utilizado ) */ $('#qtProduto').mask("00000",{reverse: true}); $("#btnAdicionarProduto").on('click', function($e){ /* Evita que o evento ocorra */ $e.preventDefault(); /* Adiciona os produtos somente se o formulário for preenchido */ if(validaForm()) { /* Declarando a variável tb */ var tb; /* preenchendo informações na variável tb para inserção no tbody da tabela */ tb = "<tr><td>" + $("#nmProduto").val() + "</td>" + "<td>" + $("#qtProduto").val() + "</td>" + "<td class=\"text-right pr-5\">" + ($("#vlProduto").val() * 1).toFixed(2) + "</td>" + "<td class=\"text-right pr-5\">" + ( $("#vlProduto").val() * $("#qtProduto").val() ).toFixed(2) + "</td>" + "<td><button class=\"btn btn-light btn-sm delete text-danger\">✖</button></td></tr>"; /* Adiciona a variável tb acima que contém os dados do produto no tbody da tabela. Estas informações são inseridas no final do tbody */ $("tbody").append(tb); /* Após inserção da linha do produto, os valores do pedido são atualizados */ atualizaVlPedido(); /* Se existir mais que 1 item no pedido, é removido a classe invisible do foot da tabela, mostrando assim o valor total do pedido */ if($(".table-produtos tbody tr").length > 0) $(".table-produtos tfoot").removeClass("invisible"); /* As 3 linhas abaixo redefinem os campos de entrada do produto para deixando-os vazios*/ $("#nmProduto").val('').trigger("chosen:updated"); $("#vlProduto").val(''); $("#qtProduto").val(''); /* Define o foco para a seleção de produtos */ $("#nmProduto").chosen().trigger('chosen:activate'); } }) /* Ao clicar na ação delete remove a linha dinamicamente da tabela */ $(document).on("click",".delete",function() { /* Remove a linha referente ao produto clicado */ $(this).parent().parent().remove(); /* Se existir somente um produto no pedido, e for removido, o foot da tabela fica invisível O foot é usado para mostrar o valor total do pedido */ if($(".table-produtos tbody tr").length === 0) $(".table-produtos tfoot").addClass("invisible"); /* Após exclusão da linha, os valores do pedido são atualizados */ atualizaVlPedido(); }) /* Validação do Formulário */ function validaForm() { var formValid = true; if($("#nmProduto").val() === "") formValid = false; if($("#vlProduto").val() === "") formValid = false; if($("#qtProduto").val() === "") formValid = false; if(!formValid) { /* Remove a classe invisible do elemento msgValidaForm */ $("#msgValidaForm").removeClass("invisible") /* Após 4 segundo a mensagem desaparece com a classe invisible sendo novamente adicionada */ setTimeout(function(){ $("#msgValidaForm").addClass("invisible") }, 4000); return false; } else return true; } /* Atualiza Valor Total do Pedido */ function atualizaVlPedido() { /* Define o valor do pedido */ var vlTotalPedido = 0; /* Varre todos os valores dos produtos da tabela */ $(".table-produtos tbody tr td:nth-child(4)").each(function() { vlTotalPedido += parseFloat($(this).text()); }) /* Atualiza o valor do pedido na tabela */ $("#vlTotalPedido").text(vlTotalPedido.toFixed(2)); } }) </script> <script src="assets/jquery/jquery-3.2.1.min.js" crossorigin="anonymous"></script> <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js" integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/chosen/1.8.2/chosen.jquery.js" type="text/javascript"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.11/jquery.mask.js" type="text/javascript"></script> </body> <a href="index.html" button type="button" class="btn btn-success">Voltar</button></a><br> </html>  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.