Jump to content

Question

Olá pessoa, terminei a faculdade e recebi algumas propostas de projetos web, mas como ainda estou iniciando não tenho muita noção de quanto cobrar.
Para um site, eu pensei em cobrar um valor razoável de entrada , e além deste valor, definir um contrato de um valor mensal para fazer manutenções necessárias, assim eu terei o cliente e uma renda sempre. Por outro lado, o cliente pode ficar com o site por pouco tempo e não chegar ao valor que eu gostaria pelo projeto. 
Pensei também em cobrar por projeto, no minimo R$ 1000 por um site simples, já que to começando.

Ai entra outro falta de experiência minha. Se eu cobrar por projeto, o cliente ficaria responsável por pagar o domínio e hospedagem dele ou eu contrataria uma hospedagem com a possibilidade de hospedar varios sites para quando eu tiver mais clientes.

Indo mais direto ao ponto, gostaria que me ajudasse em como começar, cobrar, etc.

Agradeço a quem puder ajudar.

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 1

Defina:
Seu salário mensal (Quanto você merece ganhar)

Quantas horas por dia você vai trabalhar (Trabalhe somente o necessário)

Quanto vale sua hora extra (sim, o cliente vai querer pressa no processo)

Estipule uma data em meses, nem que seja aproximada

---------------------------------------------------------------

Pra saber os valores aqui vai um modelo

---------------------------------------------------------------

Salário: 1.000,00 (o bom seria cobrar pelo menos R$ 1.500,00 )

Hora de trabalho: 8 horas

Valor da hora extra: R$ 8,00

Valor da hora trabalhada: 1.000,00/30/8 = R$ 4,16

 

Um site em 4 meses de desenvolvimento vale (nesse modelo):

Conta: 4(meses) x 30(dias) x 8(horas) x 4.16(valor da hora) (use a calculadora: 4*30*8*4.16)

Resultado: R$ 3.993,6 (fora hora extra, que você pode e deve cobrar)

---------------------------------------------------------------

2 horas extras em 4 meses: 4*30*2*8 = R$ 1.920,00

Total com hora extra: R$ 5.913,6

 

 

Share this post


Link to post
Share on other sites
  • 0

Olá @GabrielSCastro o que posso dizer é como eu procedo.

Independente do quão complexo for a software que irei desenvolver, em negociação com o cliente ele me diz o que quer, vejo as possibilidades para tal e estipulo o tempo que levaria para desenvolver, seja um mês/dois uma semana etc...

Eu cobro com base no salário mínimo comercial (o que é muito barato), desde a apresentação do rascunho que seria uma prévia do que ele deseja, assim sendo podendo haver ajustes adesões ou remoções.

No caso de manutenções eu dou 2 a 6 meses grátis (conforme for a complexabilidade do website) para afins de correções de bugs que possam surgir. Se caso o cliente queira modificações pós entrega do software a cobrança segue o mesmo padrão de desenvolvimento.

No caso de manutenção de website de terceiros (que não foi eu quem desenvolveu) como o dobro do valor, pelo fato que em 99% dos casos foi feito por alguém inexperiente e ele fez "merd....." e na maior parte dos casos é mais rápido refazer do que concertar.

Para hospedagem eu só indico para o cliente uma empresa, mas caso ele queira que eu o faça também cobro por fora.

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 mm_edilson
      Boa noite, amigos. Estou tentando inserir data completa e hora, assim:
      Segunda, 14 de Junho de 2021, 19:05:23
      Mas está saindo assim: 
      1, 1452021, 19:05:23.
      Segue meu código. Alguém poderia me ajudar a ver o que está errado?
       
      <script type="text/javascript"> function startTime() { var today=new Date(); var year=today.getYear(); if (year<2000) year += (year <1900) ? 1900 : 0 var day=today.getDay(); var month=today.getMonth(); var daym=today.getDate(); if (daym<10) daym="0"+daym var dayarray=new Array("Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"); var montharray=new Array("de Janeiro de ","de Fevereiro de ","de Março de ","de Abril de ","de Maio de ","de Junho de ","de Julho de ","de Agosto de ","de Setembro de ","de Outubro de ","de Novembro de ","de Dezembro de "); var h=today.getHours(); var m=today.getMinutes(); var s=today.getSeconds(); // adicione um zero na frente de números<10 m=checkTime(m); s=checkTime(s); document.getElementById('txt').innerHTML=day+","+daym+month+year+", "+h+":"+m+":"+s; t=setTimeout('startTime()',500); } function checkTime(i) { if (i<10) { i="0" + i; } return i; } </script> </head> </head> <body onload="startTime()"> <div id="txt"></div> </body>  
    • By Renato Fonte
      Olá, Amigos (as),
              
      Este código (abaixo) é de um Site Imobiliário. Esta é a página (html) de edição e inclusão de dados e fotos dos imóveis no Painel Admin.
      Durante muito tempo, no navegador Chrome, o Botão para Upload das Fotos, simplesmente deixava de aparecer.
      Mas ao configurar site, permissões, javascript - permitir, o botão voltava à aparecer.
      Porém, há alguns dias essa ação não funciona mais, em navegador nenhum. Não aparece mais o botão.
              
       Pode ter sido função PHP, Query ou Json que se tornou obsoleta?
              
      Tentei varias ações mas não consigo encontrar o erro para atualizar.
              
      DOCUMENTAÇÃO JS:
      https://jclareteimoveis.com.br/app/helpers/uploadfy/js/jquery.uploadify.v2.1.4.min.js
      https://jclareteimoveis.com.br/app/helpers/uploadfy/js/swfobject.js
       
      Conto com a ajuda de vocês para me salvar dessa!
       
      Obrigado à todos!
       
       
      <link href="helpers/uploadfy/css/uploadify.css" type="text/css" rel="stylesheet" />
              <script type="text/javascript" src="helpers/uploadfy/js/swfobject.js"></script>
              <script type="text/javascript" src="helpers/uploadfy/js/jquery.uploadify.v2.1.4.min.js"></script>        
      <script>
                  $(document).ready(function() {                
                      $('#fupload').uploadify({
                          'uploader'  : 'helpers/uploadfy/js/uploadify.swf',
                          'script'    : '[baseUri]/admin/uploadr/[item_id]/',
                          //'cancelImg' : 'helpers/uploadfy/js/cancel.png',
                          'cancelImg' : 'images/icons/cancelb.png',
                          'folder'    : 'app/fotos',
                          'auto'      : true,
                          'multi'     : true,
                          'buttonText'  : 'Upload',
                          'sizeLimit'   : 25002400,
                          'width'       : 275,
                          'height'       : 40,  
                          //'queueSizeLimit' : 10,
                          'uploadLimit' : 1,
                          'fileExt'     : '*.jpg;*.gif;*.png;*.bmp;*.jpeg',
                          'fileDesc'    : 'Imagens (JPG, GIF, PNG, BMP)',
                          //'buttonImg'   : 'helpers/uploadfy/upload.png',
                          'buttonImg'   : 'images/icons/uploadr.png',
                          'onAllComplete': function(event, queueID, fileObj,response){
                              reloadFotoBind();
                          },
                          'onComplete': function(event, queueID, fileObj,response){                        
                              var response = $.parseJSON(response);
                              $(response).each(function(k,v){
                                  if(v.id != 'error'){
                                      $('<li id="li_'+v.id+'"><img src="[baseUri]/thumb/'+v.url+'/130/100/" id="img_'+v.id+'"/></li>').appendTo('#photo-gallery-ul');
                                  }else{
                                      $('<li>erro</li>').appendTo('#photo-gallery-ul');
                                  }
                              })
                              //window.location = '[baseUri]/admin/item/editar/[item_id]/fotos/';
                          }            
                      })
                  })
              </script> 
              
              
              <input id="fupload" name="upload" type="file" class="hide" />
              
    • By Tecnix
      Preciso de ajuda para colocar uma função IF - Else no código abaixo, meu objetivo é que essa parte do código só possa rodar quando eu apertar e segurar a tecla z, agradeceria muito se me ajudassem
      o código:
       
          "lock_new_victim": {
              "type": "origins:target_action_on_hit"
              "cooldown": 0,
              "entity_action": {
                  "type": "origins:and",
                  "actions": [
                      {
                          "type": "origins:execute_command",
                          "command": "tag @s add PuppeteerVictim",
                          "permission_level": 2
                      },
                      {
                          "type": "origins:execute_command",
                          "command": "execute as @s at @s store result score @s VictimOwnerUUID1 run data get entity @p[tag=Puppeteer] UUID[0]",
                          "permission_level": 2
                      },
                      {
                          "type": "origins:execute_command",
                          "command": "execute as @s at @s store result score @s VictimOwnerUUID2 run data get entity @p[tag=Puppeteer] UUID[1]",
                          "permission_level": 2
                      },
                      {
                          "type": "origins:execute_command",
                          "command": "execute as @s at @s store result score @s VictimOwnerUUID3 run data get entity @p[tag=Puppeteer] UUID[2]",
                          "permission_level": 2
                      },
                      {
                          "type": "origins:execute_command",
                          "command": "execute as @s at @s store result score @s VictimOwnerUUID4 run data get entity @p[tag=Puppeteer] UUID[3]",
                          "permission_level": 2
                      }
                  ]
              }
          },
    • By Felper
      Estou criando um jogo de avançar casas e não estou conseguindo somar os valores sorteados pelo dado. Quero fazer assim:
      let somadado=0;
      let valorsorteado=5;
      somadado=5;
      valorsorteado=3;
      somadado=8;
      valorsorteado=2;
      somadado=10;
       
      Assim por diante. 
       
    • By leonardorafaeldev
      Boa noite pessoal estou com um problema que o icone do meu site não aparece no mobile segue uma foto do problema o meu codigo esta assim
       
      <!-- icones -->   <link href="icones/favicon.ico" rel="icon">   <link href="icones/favicon.ico" rel="shortcut icon">    <link rel="apple-touch-icon" sizes="57x57" href="icones/apple-icon-57x57.png">   <link rel="apple-touch-icon" sizes="60x60" href="icones/apple-icon-60x60.png">   <link rel="apple-touch-icon" sizes="72x72" href="icones/apple-icon-72x72.png">   <link rel="apple-touch-icon" sizes="76x76" href="icones/apple-icon-76x76.png">   <link rel="apple-touch-icon" sizes="114x114" href="icones/apple-icon-114x114.png">   <link rel="apple-touch-icon" sizes="120x120" href="icones/apple-icon-120x120.png">   <link rel="apple-touch-icon" sizes="144x144" href="icones/apple-icon-144x144.png">   <link rel="apple-touch-icon" sizes="152x152" href="icones/apple-icon-152x152.png">   <link rel="apple-touch-icon" sizes="180x180" href="icones/apple-icon-180x180.png">   <link rel="icon" type="image/png" sizes="192x192"  href="icones/android-icon-192x192.png" >   <link rel="icon" type="image/png" sizes="36x36" href="icones/android-icon-36x36.png">   <link rel="icon" type="image/png" sizes="48x48" href="icones/android-icon-48x48.png">   <link rel="icon" type="image/png" sizes="96x96" href="icones/android-icon-96x96.png">   <link rel="icon" type="image/png" sizes="144x144" href="icones/android-icon-144x144.png">   <link rel="icon" type="image/png" sizes="72x72" href="icones/android-icon-72x72.png">   <link rel="icon" type="image/png" sizes="32x32" href="icones/favicon-32x32.png">   <link rel="icon" type="image/png" sizes="96x96" href="icones/favicon-96x96.png">   <link rel="icon" type="image/png" sizes="16x16" href="icones/favicon-16x16.png">   <link rel="manifest" href="icones/manifest.json">   <meta name="msapplication-TileColor" content="#ffffff">   <meta name="msapplication-TileImage" content="icones/ms-icon-144x144.png">   <meta name="theme-color" content="#ffffff">   <meta charset="utf-8">   <meta content="width=device-width, initial-scale=1.0" name="viewport">
×

Important Information

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