Recebi minha primeira propostas de freela e estou perdido. (Me ajudem)

Olá pessoal, primeiramente vou contextualizar minha pessoa a vocês.

Eu sou um estudante de programação a algum tempo e já desenvolvi todo tipo de coisa. Desde aplicações web interativas - como to-do lists, clones de UI e demais apps de iniciantes, eu nunca fui muito de frontend - até coisas mais completas como pseudo-drivers e pseudo-kernels em linguagens como Rust e Golang.

Recentemente um amigo meu me mandou mensagem perguntando se eu conseguiria fazer um daqueles sistemas de mercado para o mercadinho do pai dele, eu até consigo imaginar esse tipo de aplicação. Na minha cabeça não deve ser algo muito mais complicado que um CRUD porém usando o leitor de código de barras para fazer a pesquisa e entrada de dados.

A minha grande questão é, será que eu estou preparado para fazer isso? Se eu aceitar como eu deveria desenvolver isso? Eu faria só o software ou deveria fornecer o hardware também? E principalmente, quanto eu deveria cobrar?

Um colega de trabalho que é desenvolvedor Java disse que cobraria de 6k a 7k dependendo das variáveis citadas acima.

Se alguém que já tiver experiência com freela ou com esse tipo de sistema tiver disponibilidade por favor me dê algumas dicas. Desde já obrigado!

Eu não pegaria em hipotese alguma. Quando você fala em sistemas para Mercadinho, o cujo precisa obrigatoriamente emitir nota fiscal e ai que esta a grande bomba, você terá que seguir parametros especificos da receita, envolve toneladas de regras, contingencia, etc, tudo isso é obrigatório, o dono do mercadinho não pode por lei utilizar um software de PDV sem emitir cupom, e se for fiscalizado, adivinhe, o desenvolvedor também é responsabilizado. Se der problema, e vai dar, adivinhe quem terá que corrigir.

Agora, levando em conta que ele nao quer pagar R$ 100 mes por um software desses existentes, eu duvido que ele esteja te oferecendo um valor justo para um software desses (minimo, mas minimo, R$ 10k mes)

Aqui na empresa eu cobraria R$ 250 mil para fazer um sistema completo desses e obviamente o cliente não iria contratar pois existem muitos outros prontos por ai, e mesmo assim, se ele aceitasse acho que eu nem pegaria.

a galera pega um trampo desse sem saber o tamanho da responsa

Meus 2 cents:

Vai la, senta com o pai dele (ui !) e faz um levantamento de requisitos minimos:

"Ola ! Teu filho me passou que voce gostaria de um sistema para o mercado - podemos conversar um pouco e voce me passar o que tinha em mente ?"

Pode ser que ele queira um POS (o que leva a integracao com a receita), estoque, ERP, controle de fornecedores, controle de cliente assiduos, livro de fiado, pedidos via web - estilo ifood e por ai vai.

Primeiro voce tem de saber O QUE exatamente ele quer.

Ai, com a ideia dele, voce cria um mockup basico (sem banco, so telas) e leva para ele analisar. So entao da para precificar.

Mas...

Pode que ai voce ja descubra que o bling (R$ 46/mes) ou outro ERP via web ja atende ele sem dor de cabeca.

Ou pode colocar no google: "sistema para mini mercado" - virao varias opcoes, voce atua neste caso mais como consultor para escolher a melhor opcao.

Enfim - pode ser que simplesmente nao valha a pena reinventar a roda - tem um monte de sistemas POS e semelhantes ja disponiveis para comprar o codigo fonte e adaptar, p.ex.:

https://codecanyon.net/search/grocery

Mas eh isso: primeiro descubra O QUE, depois analise a melhor forma de cobrir aquela necessidade.

Entendi cara, nesse caso já vou falar com meu amigo pra gente ter essa conversa e assim eu vou levantar as informações necessárias. Mas eu imagino que seja só a parte que fica no caixa mesmo
Existem alguns sistemas de POS/PDV ja prontos - as vezes vale mais a pena ganhar apenas como consultoria e deixar a implantacao e suporte para um terceiro, do que tentar fazer tudo (PDV implica NFe, integracao com a receita e homologacao - da mais trabalho do que parece e nao eh apenas "imprimir" um cupom). Algumas dicas: 1) Na 1a. reuniao, voce vai la para escutar, nao para falar - deixe ele falar sobre o que precisa e quais as expectativas. Lembre-se: a) Voce tem 2 ouvidos e 1 boca, entao ouca 2 vezes mais que fale. b) É melhor calar-se e deixar que as pessoas pensem que você é um idiota do que falar e acabar com a dúvida 2) Ele vai perguntar quanto vai custar - diga: Para evitar criar falsas expectativas, analisarei e retornarei o mais breve possível. OU Seria leviano criar falsas expectativas agora. Analisarei e retornarei o mais breve possível. 3) Ele eh o cliente, nao uma caixa registradora Sei que eh tentador imaginar um projeto de 5k a 10K - mas nao eh assim que as coisas funcionam. As vezes um projeto "simples" se torna uma bola de neve e dor de cabeca (ainda mais se voce nao domina todos os aspectos do que vai fazer) 4) Nao tenha medo de dizer "nao"

Isso é um evento canonico de todo dev, então aqui vai meus 2 centavos de dicas:

1º Faça o levantamento de requisições (O que é crucial para o sistema, Ex: Tabelas, e etc)

2º Crie algo com tecnologias faceis e que tenha bastate conteudo na internet para vc aprender enquanto desenvolve

3º Jogue o prazo la em cima, 4 meses por exemplo porque vc n sabe como construir e vai ter q aprender.

4º Use e abuse de components e ui da comunidade, como Shadcnui, la tem 1 milhão de components que podem te ajudar

5º Se tu ver q n vai dar contrata um dev mais experiente, se vc fechar 7k, ofereça 3k para alguem(com certeza vão aceitar)

Bom é isso, se precisar de ajuda(ou se quiser contratar um dev por 3k) tamo ai aksdkaksdakd, meu contato

Eu recomendo pegar. Vai ser difícil pra caralho, sim. Pq é muita coisa, e à medida que o tempo vai passando você vai descobrindo que tem mais coisa pra fazer que você não tinha previsto antes. Mas é assim que a gente aprende. Nossa profissão é assim o tempo inteiro, independente se é freela ou CLT, ou gestor: o que a gente não sabe a gente aprende na hora que precisa. Pode ser que fique ruim. Não tem problema. Você está aprendendo, a gente que é humano tem que errar pra aprender. Depois vc vai fazer melhor. Tipo, você precisa se sentir confiante a ponto de não se sentir completamente desamparado, mas não precisa (e nem deveria) sentir que você com certeza consegue fazer facilmente. Se tiver confiança que você consegue aprender o que precisa pra entregar, já é o suficiente.

Gostei do seu ponto mas eu realmente não me sinto confortável em ter que lidar com essa parte de NF-e. Qualquer API de um órgão público é extremamente quebrada e mau documentada, eu sei disso porque trabalho em um órgão federal e já ajudei a desenvolver uma micro API antes de ser levado pro atendimento ao público.

Eu pegaria o trabalho e ofereceria este sistema na versão web, no modelo de saas. Este projeto é absolutamente simples e daria oara fazer neste modelo de mult empresas e cobrando assinatura. Também utilizaria o estudo de caso deles para obter mais clientes. (foi exatamente assim que comecei com meus SaaS)

Sobre o leitor de codigo de barras, já fiz um sisteminha que usava. Veja o leitor como um teclado, é assim que ele funciona. Basta utilizar o "focus" no campo de busca e já era. É como se fosse uma automação física que digita o número do codigo e tecla enter ao final (na pagina web, gera um submit no form).

Como primeiro passo, já negociaria com ele o valor mensal. Para desenvolver o mpv, até com php + mysql em uma hospedagem com cPanel da muito certo. Só vai precisar migar para algo maior quando tiver mais clientes.

faz assim, contrata o seu colega que faz por 6 ou 7k, vende por 10k pro cliente e se livra dessa bucha. se entrar na parte fiscal, impressora de cupom ou nfse, vai arrepender de um doa ter começado um projeto desses sozinho.

Tô nessa pegada, desenvolvendo um Terminal Caixa (PDV) e dá um trampo legal... Inclusive o módulo de impressão feito em python se encontra aqui, se for útil.

PDV

Está usando quais tecnologias?
Python no frontend, python no backend. Kivy + kivymd para a interface, pycups + escpos para impressão de DANFCe. PyNFe para comunicação com a sefaz, a base de dados é importada da retaguarda que roda em Harbour (antigo Clipper). A base de dados é PostgreSQL, importo os dados dos DBFs e vou populando a base sql com o estoque.