Como construir meus próprios projetos?

Boa tarde, estou assistindo seus videos de flask e codando junto e sempre que vejo um tutorial eu fico com a duvida do que fazer depois para poder ver se eu aprendi de verdade, fico com a impressão que apenas copiei seu código. O que você indica fazer ?

Construindo ideias simples

No inicio o ideal seria construir projetos simples para não gerar complexidade e desistir no meio do caminho.

Aquele video de Flask construimos um sisteminha de Gestão de Clientes com as seguintes funcionalidades:

  • Listar clientes
  • Cadastrar cliente
  • Editar cliente
  • Ver cliente
  • Deletar cliente

Esse é o famoso “CRUD” (create, read, update, delete). Esse padrão serve para qualquer coisa.

Se você fosse construir um Blog, você poderia fazer a mesma coisa porem para Postagens: listar, ver, criar, atualizar e deletar.

Apenas com aquela base você pode construir diferentes projetos iniciais, até para treinar e calejar.

  • Sistema de Blog: Você pode ter uma tela igualzinha aquela do video de Flask, para gerenciar postagens. Só muda de “clientes” para “postagens”. E um diferencial seria você ter uma pagina para os usuários (onde apenas lista as postagens) e a pagina para editar/deletar/criar pode ser em outra rota (por exemplo: /admin). A diferença é que as postagens possuem atributos diferentes: titulo, descrição, categoria.

  • Sistema de produtos: mesma coisa, trocando “clientes” por “produtos”. Em uma página você lista produtos e em uma rota “admin” você gerencia os produtos. No caso, produto pode ter outros atributos: nome, descrição, preço, imagem.

Nada de complexidade

Não se preocupe com detalhes como sistema de autenticação, permissões, sistema de pagamentos, etc. Nessa etapa o ideal é você treinar o CRUD. Você só vai ganhar velocidade e conhecimento fazendo várias vezes.

Crie uma “startup”

Outra ideia que gosto e sempre faço desde o inicio da minha carreira é pensar que vou construir um projeto de verdade. Você pode começar construindo projetos para resolver problemas simples, problemas que você tem conhecimento. Pode ser um projeto para te ajudar a organizar suas finanças ou qualquer outro problema simples que você possui interesse em resolver.

Construir coisas que você possui interesse ajuda demais no aprendizado.
Eu mesmo, passei muito tempo construindo rede social e joguinhos.

Não importa o que você vai construir, no fim sempre é a mesma coisa, você vai:

  • Listar alguma coisa
  • Cadastrar alguma coisa
  • Atualizar alguma coisa
  • Deletar alguma coisa

Desenhar a ideia

Outra coisa que sempre recomendo é você primeiro desenhar toda a ideia antes de programar.

Vamos ao exemplo!

Sistema de finanças

Quero construir um sistema onde vou cadastrar minhas transações (receita/despesa) e calcular meu saldo total. Além disso quero categorizar para depois entender onde estou vacilando nos meus gastos.

Perceba que estamos tentando resolver um PROBLEMA.
O meu problema é: não saber onde eu gasto mais dinheiro.
Como vou resolver esse problema? Categorizando minhas transações.

Beleza, a ideia está definida. Vamos desenhar!

Entidades

Você pode pensar que as entidades representam os elementos ou modelos principais de um sistema. Então os modelos principais que eu imagino para um exemplo simples desse sistema de finanças são:

  • Categoria
  • Transação

A transação representa cada receita/despesa que eu cadastrar e a categoria serve apenas para categorizar essas transações.

Então vamos pensar agora nas funcionalidades que podemos ter para resolver esse problema:

  • cadastrar categoria
  • cadastrar transação
  • calcular saldo total

Beleza, agora sim temos uma direção melhor do que fazer. Veja abaixo um exemplo dessas funções.

transacoes = [] categorias = [] def cadastrar_categoria(nome): nova_categoria = {"id": len(categorias) + 1, "nome": nome} categorias.append(nova_categoria) return nova_categoria def cadastrar_transacao(descricao, categoria, valor): transacoes.append( { "id": len(transacoes) + 1, "descricao": descricao, "categoria": categoria, "valor": valor, } ) def calcular_saldo_total(): total = 0 for t in transacoes: total += t["valor"] return total # criando categorias categoria_receitas = cadastrar_categoria("receitas") categoria_contas = cadastrar_categoria("contas") categoria_viagens = cadastrar_categoria("viagens") # adicionando transacoes cadastrar_transacao( descricao="salário", categoria=categoria_receitas, valor=1000.0, ) cadastrar_transacao( descricao="conta de luz", categoria=categoria_contas, valor=-150, ) cadastrar_transacao( descricao="disney", categoria=categoria_viagens, valor=-200, ) # calculando saldo total print("Saldo atual: ", calcular_saldo_total())

Conclusão

A maioria se perde bastante nessa questão de pensar em um projeto pois fica pensando em ideias “empresariais” para passar em entrevista. Esquece isso, pensa em algo que te interessa.

Tenho colegas que conseguiram emprego apresentando site de animes, sites de jogos, etc.
O que importa é o quanto você dedicou e se aprofundou em um projeto.

Quanto mais você investir em um projeto, seja qual for, mais bugs você vai enfrentar e ter que resolver. E nessa você aprende bastante.

E fique tranquilo, no começo é difícil mesmo pensar em ideias. Por isso, pegue algo que você tenha bastante conhecimento para pelo menos você entender a regra de negócio.

Conheço uma galera que foca em construir ferramentas para oficina (pois trabalha com isso e conhece as ferramentas que existe), joguinhos para os filhos, pagina de contato para o amigo que vende algum serviço, etc.

O importante é você começar o quanto antes e fazer o máximo de projetos que puder.

Espero ter ajudado!