Executando verificação de segurança...
2

Peguei Um Projeto e Não Sei Por Onde Começar!!!

Olá, Tudo bem Pessoal?
Me chamo Heytor, Tenho 17 anos e Curso engenharia de Software.
Comecei a estudar a area da Programação na ultima semana do ano passado, como quase todo mundo comecei com html, comprei um livro de 700pg e com muito entusiamos li ele em um mes (Nunca tinha lindo um sequer livro pequeno), e com isso fui estudando e conheci a udemy, logo comprei um curso de Desenvolvimento web completo, muito bom , com desde de o front-end com html css e js, até com back-end com node e banco de dados com Mysql(se não estou enganado), agora nas ferias da graduação, dei uma para nesse curso para realmente a programar, Porque até então eu tinha apenas feito alguns site com html e css puro, sem nenhum js.
Então esse mês comprei um curso de Logica de programação com JS, e estou seguindo com ele e pretendo terminar ele e voltar para o outro de Dev. web.
Como visto no titulo, eu tenho um projeto e não sei como iniciar ou planejar ele, esse projeto foi me dado atravez do meu pai, que trabalha como um clt comum, e tambem gosta e faz dinheiro com vendas online de diversos produtos em sites de Marketplace. Então ele me perguntou se eu tinha a capacidade ou a intenção de mais a frente eu conseguir fazer um site de vendas a ele, um Site totalmente padrão e genérico com nada de a mais do demais site que ele usa a para suas vendas, masss, ele pediu um site totalmente funcional, com suporte de pagamentos e calculos de frete online.
Por isso venho aqui, pedir ajuda ou orientações de pessoas mais experientes e com conhecimento formado na area de como eu posso me organizar e por onde eu devo seguir um fluxo de estudo para realizar tal projeto.

Obrigado!

Carregando publicação patrocinada...
3

Sendo sincero, saiba dizer não

Esse é um projeto grande que necessita tempo, conhecimento e prática, não estou dizendo que não consegue, claro que conseguiria, mas você levaria muito tempo tendo em vista esses requisitos.

Uma coisa que levo para vida:

estamos aqui para resolver problemas

e existe diversas formas de você resolver esse problema, hoje em dia existem plataformas que você cria sua loja virtual em minutos, e com tudo isso que citou as vezes já incluso. Um exemplo shopify, nuvemshop, wordpress, entre outras no mercado(existe um custo, coisa que também existiria caso criasse do zero)... Então meu conselho a você é, resolver o problema do seu pai da forma mais rápida e eficiente.

1
1

Se pensarmos que ele leu do dia 01 ao dia 30 do mês, dá uma média de 24 páginas por dia. Não é nada muito absurdo. É mais sobre consistência de ler todos os dias.

Se você tirar 1 hora de leitura por dia (30min pela manhã e 30min à noite), quantas páginas você lê nesse tempo?
Tendo em vista que a velocidade de leitura de cada um é diferente, supunhetamos que você gaste 3 minutos pra ler uma página (provavelmente gaste menos). Em 1 hora você leu 20 páginas. Em 1 mês (30 dias), você leu um livro de 600 páginas, em média.

Esse comentário também não agrega nada a ninguém, mas quis responder xD

1

já que nao sabe por onde começar direito, começa pelo basico e com o passar do tempo vai adicionando funcionalidades (MVP) que chuto q seja cadastrar produtos e usuarios, adicionar no carrinho e integrar com algum meio de pagamento

1

Talvez seja válido você ser realista e dizer que vai demorar até entregar um produto minimamente viável, vulgo MVP. Porém, não é nada impossível, e inclusive pode te ensinar MUITO.

Ai temos 2 cenários:

  1. Seu pai PRECISA de algo rápido. Logo, é melhor você optar por alguma solução pronta (NuvemShop, Shopify, entre outras milhares, só pesquisar por 'plataforma loja online'), fazer toda a configuração e deixar pronto pra venda, e então partir pra solução que você irá desenvolver;
  2. Seu pai NÃO PRECISA de algo rápido e aceita esperar os meses de estudo que você terá pela frente. Logo, é UM BAITA PROJETO que você usará pra desenvolver suas habilidades. Você provavelmente se dedicará por horas, conciliando o projeto real com os estudos, e muita pesquisa.

De toda forma, qualquer um dos cenários é o ideal (na minha visão) pra qualquer iniciante começar: ter um projeto real que faça sentido, e não ter medo de começar.


Eu acho que fazer uma loja sem ajuda de um framework (react, next, vue, angular, ou qualquer outro) só com o básico (html, css e js) seja um pé no saco. Então eu falaria pra você investir pesado nos estudos do básico, e ai escolher um framework que você se adapte melhor inicialmente e usá-lo pra construir a loja.

1

@pedroo
Então, talvez no minha publicação eu não tenha especificado, mas ele só falou que queria um site de tal maneira, não estipulou tempo nem nada, ele apenas perguntou se eu conseguiria, e eu falei que por mais que não tinha conhecimento necessário no momento, eu disse que poderia estudar e que até meio do ano que vem iniciaria o projeto, mas muito obrigado, com certeza se eu me esforçar no projeto eu vou conseguir ter um bom portifolio!

1

Fala Heytor! Tudo bem, rapaz?
leva em consideração os comentarios do pessoal e também já começa a colocar a mão na massa.

Se voce optar por um banco de dados relacional, por exemplo, conversa com seu pai o tipo de coisa que ele quer que tenha. Então esboça um DER conceitual com as entidades(tabelas) e seus atributos(colunas), relacionando umas as outras conforme a necessidade. Feito isso e aprovado oelo deu pai, cria seu script do banco de dados, ou caso utilize um ORM(mapeador relacional de objetos) cria seu schema.
Como mencionou que viu sobre Node, verifique qual framework atende a suas necessidades. O Express pode ser uma boa opção. A partir disso vá estruturando um braço do projeto pelo backend, como por exemplo parte de cadastro e login.
Mediante o protótipo do design, crie o frontend com base no que foi feito no back

1
1

Cara, ser freelancer não é fácil, lá se vão anos de expertise e maturidade para entender o que é viável ou não pra você pegar uma dada demanda. Você disse que começou a estudar HTML, CSS etc e voltou pra lógica de programação, meu bom... veja bem, como vai fazer um calculo de frete sem ao menos conhecer a sintaxe da linguagem ? ou como funciona toda a lógica de programação dessa tecnologia? Como vai otimizar seu banco sem ao menos sequer ter visto as estruturas de dados necessárias, como vai fazer o design e arquitetura de sua aplicação sem conhecimentos mínimo de engenharia de software?

Muita gente menospreza os fundamentos da engenharia de software, ou modelagem de sistema, o que não deveria, e isso vai te dar um background gigantesco para pensar no negócio, e como lidar com toda arquitetura e soluções de projeto. Sem saber o que é um diagrama de classes, de caso de uso, de estados, de atividade, fica difícil. Ir programar sem saber levantar um requisito funcional ou não funcional, acredite, vai botar o programa no ar (porque foi programar com a unha e dentes sujos) vai se ferrar, vai quebrar a cara. A quantidade de bugs que tu vai precisar resolver vai ser uma dor de cabeça enorme, por que? ue, você não fundamentou bem a base da computação, amadureceu o suficiente para pegar algo deste porte. Fico com as palavras do João: APRENDA A DIZER NÃO. Eu me ferrei com esse negócio de ficar dizendo sim pra tudo, espero que você não passe por isso. Fique tranquilo, 17 anos, mlk novo ainda. Boa sorte e bons estudos !

1

Primeiro, calma, esse tipo de coisa e bem comum em freelancers, o meu primeiro projeto como freelas, passei uma semana acordado sem dormir para poder terminar em 7 dias.
Como ele quer um Marketplace, acreito que o melhor seria fazer no WordPress por ser bem mais rápido, mas se o seu foco e tanto fazer o projeto quanto estudar, você vai ter umas noites sem dormir.
-> Se você sabe HTML, CSS e Javascript, e já tem um pouco de conhecimento, pega o React, qua já vai ser de embalo para você.
React e um framework frontend para web, muito bom e tem muito conteudo dele.
Depois recomendo aprender Firebase, a documentação esta em portugues e é bem melhor do que ter que aprender backend do zero para o projeto.
Depois procura isso pode te dar um norte, então recomendo terminar JS e aprender até o maximo sobre antes de ir para o React.

0
1

Bom dia, tudo certo meu mano, cara na minha visão essa é uma parte que não tem muito segredo, acho que você deve escolher as tecnologias que vc tem conhecimento para desenvolver esse site, Js, node etc... E busca tutoriais para de dar uma "luz", eu começaria fazendo o famoso figma do site se necessario, para começar a colocar as ideia no "papel", se você já tem noção de como vai ser e as funcionalidades tudo ficaria mais facil, eu faria na seguinte seguencia, figma após decidir como vai ser desenvolvido o layout do site, iria partir para as funções basicas tanto do front quanto back por exemplo, cadastro dos clientes, dos produtos, faria esse integração primeiro, colocaria o basico inicial, e depois iria fazendo conforme o necessario, mas já tendo uma base doq fazer e por onde seguir tipo, cadastro/login prontos, iria para a tela de cadastro dos produtos, editar perfil, editar produto (fazer o famoso CRUD) etc, ai partiria para colocar os produtos na tela do usuario, apartir dai eu começaria a estudar as apis que vc vai precisar para o pagamento e frete que vc precisa. N sei se ficou claro, mas geralmente no MEU modo de fazer, faço assim normalmente.... Dai vc estuda as APIs de pagamentos, PAGSeguro ou tantas outras que tem no mercado para integrar com seu site, talvez seja uma das partes mais complicadinhas para integrar, mas nada que um tutorial ou algumas lidas ai n te ajude.

1

Passo maior que a perna

Entendo sua situação, mas sendo direto ao ponto como você nunca criou nenhum projeto de verdade antes, este é um projeto grande demais para você agora. Até para programadores experientes, uma plataforma com todos esses requisitos apresentados não é algo trivial e são poucos os programadores hoje em dia que programam todas essas etapas sozinho.

Para você...

Você precisa estudar mais para poder encarar um desafio como esse, mas quando eu digo estudar não é apenas ver vídeos, cursos e livros. Precisa criar sistemas mesmos que simples, um cadastro de produtos por exemplo, aprenda os fundamentos e s técnicas por trás desse processo.

Tanto backend quanto frontend.

Mesmo que no futuro você não queria ser frontend, para seu aprendizado como programador, essa experiência de estudos é importante.

Para o projeto...

Já avise seu pai que um projeto desse é demorado e caro, para que não crie expectativas de algo pronto nos próximos meses ou no para o próximo ano. Não prometa prazos e custos para seu pai agora, você não tem dados no momento para avaliar isso.

Liste todos os requisitos que conseguir, tudo o que sistema deve e não deve fazer, pegue referências, crie uma sequência lógica do que precisa ser feito.

Pesquise por soluções open-source que atendam esses requisitos ou ao menos a maior parte deles, utilizar um projeto open-source (em algumas situações) pode te ensinar mais do que criar do zero.

1

Como o Mikw falou, a primeira coisa é ter calma! Tudo bem você não saber por onde começar. É normal não saber o que está fazendo quando nunca se fez o que se esta fazendo. Até eu, que tenho certo tempo na área, passo por isso. Depois de se acalmar, tenho uma pequena lista que pode ajudar você a começar a resolver isso.


1. Liste os requisitos e objetivos:

O primeiro passo deve ser entender e definir quais são os objetivos do projeto. Quais são as características principais que o seu site de e-commerce deve ter? Quem são seus usuários-alvo? Quais problemas o site irá resolver para esses usuários? Converse com seu pai, ele agora é seu cliente. Tente entender qual o objetivo dele para o projeto quais funcionalidade ele quer nele. E importante: ANOTE ISSO EM ALGUM A LUGAR.
Seja em cardeno ou doc no drive, em pagina no notion, mas é importante ter isso anotado. Esse são os requisitos do projeto.

2. Escolha da Tecnologia:

Dependendo dos objetivos do projeto, você precisa escolher a tecnologia mais adequada. Alguns iniciantes optam por utilizar plataformas de e-commerce como Shopify ou WooCommerce que simplificam bastante o processo. No entanto, se você pretende criar o site do zero, você precisará escolher uma linguagem de programação (como JavaScript, Python, etc.), um banco de dados (como MySQL, MongoDB, etc.) e possivelmente um framework (como Django para Python, Express para Node.js, etc.).

3. Planejamento de recurso:

Planeje os recursos necessários para o site, como listagem de produtos, carrinho de compras, pagamento, avaliações de usuários, etc. Cada recurso precisa ser pensado detalhadamente e incorporado ao design geral do site.

4. Design da Interface do Usuário:

O design da interface do usuário é crucial para um bom e-commerce. Faça esboços ou wireframes das páginas principais, como a página inicial, a página do produto, a página do carrinho, etc. Considere também o design responsivo, para que o site funcione bem em dispositivos móveis. Com o desenho da interface na não vai começar a desbloquear bastante como o desenvolvimento vai se dar. Por que vai conseguir entender melhor como funcionará o fluxo do usuário no seu site.

5. Configuração do ambiente:

Com essas etapas em mãos, você já conseguirá começar a trabalhar com código. Comece criando um repositório no GitHub para armazenar e controlar as versões do seu código. Após definir quais tecnologias você utilizará, configure localmente o seu ambiente de desenvolvimento. Instale as dependências que precisará, entre outros aspectos necessários.


Este é uma lista simples que pode te ajudar organizar as ideias pra começar o desenvolvimento do seu projeto. Espero ter ajudado!

Vai atualizando a gente aqui. Então a gente pode ir te ajudando quando tiver duvidas.

1
1

Uma coisa que pode te ajudar é estudar outros projetos parecidos com esse.

Por exemplo temos alguns projetos que são de E-commerce como

Todos esses projetos você encontra o código fonte no github, não desanime! São com os projetos mais desafiadores que mais aprendemos.


Sobre a parte de pagamento, você pode usar algum gateway de pagamento...

Normalmente funciona através de uma API, alguns no mercado são

  • Mercado Pago
  • Adyen
  • Pagar. me
1
1

Ter um projeto é uma boa forma de estudar programação, pois vai aprender na prática como as coisas funcionam.

Algumas dicas que posso te dar:

  • MVP (Produto viável mínimo):
    Não tente fazer o projeto inteiro de hora pra outra, isso só vai te frustar e tu não vai entregar nunca. Tenta definir quais os principais módulos que o projeto vai ter, como "venda", "pagamento", "estoque", etc. Pra definir isso, tu vai precisar conversar com teu pai e entender examente o que ele precisa que o sistema faça.
    Depois de saber quais módulos o sistema vai ter, pense em o que seria "utilizável" primeiro, como por exemplo o login e um controle de estoque.

  • Figma/protótipo:
    Fazer um protótipo do projeto antes de sair codando pode ser mais rápido do que tentar decidir as coisas enquanto programa, afinal é mais fácil arrastar uma imagem do que fazer um css (risos). E tu pode validar o protótipo com teu pai antes de desenvolver também, assim não corre o risco de perder horas fazendo algo diferente do que ele achou ter explicado (acontece).

  • Deploy:
    Utilize o Github Actions ou alguma outra forma de CD/CI para publicar o projeto conforme for ficando pronto, assim teu pai já poderia começar a cadastrar produtos e ir testando o site enquanto tu segue desenvolvendo outros módulos.

  • Tutoriais da internet (versões incompatíveis):
    Um problema que eu tinha muito no começo era pegar vários tutoriais na internet e tentar juntar tudo no mesmo código, e com isso eu acabava usando versões que não eram compatíveis entre si, ou passava horas tentando usar um método/função que tinha visto no StackOverflow, porém não funcionava pra mim, devido a eu estar utilizando outra versão da linguagem/framework.

  • De grão em grão, a galinha enche o papo:
    Tenha calma, mantenha a persistência e não desista, pode levar algum tempo, mas tu vai conseguir, método após método e funcionalidade atrás de funcionalidade.

1

@gabsdocompiuter
Muito Obrigado pela visõ de projeto, com tudo isso que falou consigo adaptar com outras dicas de outros usuarios e consigo me programar melhor!
Valeuu

1

@HeytorPires068

Desenvolver projetos de ponta a ponta é extremamente importante para aprender a ser programador de verdade, muitos por aí desenvolvem pequenos trechos ou estudam apenas a parte teórica, e no fim das contas tem uma falsa ilusão de que sabe do que está fazendo, mas as coisas não são bem quanto achamos que são.

Apesar de a primeiro momento para você parecer que o projeto é algo simples você vai notar que ao longo do desenvolvimento e do tempo que o buraco é mais embaixo, e criar soluções de valor, escaláveis, performáticas com um bom ROI (Retorno sobre Investimento), nas quais realmente gerem valor de verdade para seu pai dificilmente você irá conseguir fazer em um curto período de tempo ou sozinho.

No entanto, não deixe de fazer, será extremamente importante para seu desenvolvimento, de modo que poderá até lhe servir como portfólio futuramente.

1
1

Provavelmente já recomendaram isso, mas de qualquer forma:
Shopify

Vê se tem uns videos no youtube ou compra um curso na Udemy ou qualquer outra plataforma e manda ver.
Mesmo profissionais experientes iriam por esse caminho ao invés de criar do zero, imagina o quão complexo é pra um iniciante.

E foca em pesquisar sobre as técnicas de segurança pq vc vai lidar com pagamentos, isso vai ser mais importante do que criar um interface bonita.

1

Se você iniciar o projeto, vai ver que o buraco é bem mais embaixo. Muita coisa que nós já damos por garantido, exige queimar muito neurônio e tempo quando temos que fazer do zero.

Criar algo "simples", como uma tela de login funcional, exige banco de dados, interface responsiva, precauções quanto à segurança, conhecimento sobre http, criar um servidor MySQL local, conhecimento sobre usabilidade, UX/UI, cookies, e a lista não para por aí.

Eu recomendo que você tente criar alguns projetos curtos e simples, como uma tela de login, uma barra de navegação, um card com informações do produto, só pelo aprendizado e para você ver o que involve criar algo assim.

Enquanto isso, procure uma plataforma de e-commerce pronta para o seu pai, existem diversos, cada um com vantagens e desvantagens. Vai ser um ótimo aprendizado de como lidar com clientes não programadores e vai te fazer pesquisar bastante. Sempre mantenha ele informado e busque constantemente feeddack dele para você não fazer trabalho repetido.

1

Cara...
Esse comentário abriu minha mente para eu poder fazer o site, cosegui ter uma ideia das etapas de cada elemento do site agora!
Valeu mesmo @eduardoMats

1

Eu diria para o meu pai a realidade que vai demorar, mas encararia, depende de como você percebe a pressa que ele está. Comece dividindo tudo que vai precisar, coloca no papel ou algum programa para visualizar, quebre esse problemao em vários probleminhas. Cria o banco, página de login, formulario de cadastro, página de "meus dados", "meus pedidos", isso deve ser a parte mais fácil pra startar.

1