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

Conselho: Não comece um projeto pensando na linguagem de programação

A linguagem não importa agora

A linguagem em si não faz muita diferença, todas as linguagens modernas podem atender esses requisitos tranquilamente: JS/TS (com node), PHP, Ruby, Python, Java, C#, Rust... escolha que estiver melhor familiarizado e siga em frente.

Dessa forma o problema não é a linguagem, mas sim outras coisas que você precisa se preocupar antes mesmo de escrever a primeira linha de código:

  • Escopo do projeto
  • Regras de negócio
  • Arquitetura

Como você é iniciante, vou dar uma resumida nos pontos, mas é importante que você procure mais informações a respeito

Escopo do projeto

Junto ao solicitante, vocês precisam definir algumas coisas:

  • O que é esperado, por exemplo: o que vai ter na área de cliente, na área de administração, se vai haver envios de mensagens (e-mail, SMS, whatsapp, ...). Isto tem que estar o mais claro possível
  • O que NÃO é esperado, por exemplo: que o sistema irá fazer a reserva sozinho no site da booking.com, este tipo de coisa é importante para que o cliente não crie expectativas além do que foi combinado. Isso é mais importante do que o item anterior.
  • Datas, em um sistema grande como esse é importante definir as data aproximadas das entregas, ou seja, até que dia para os usuários conseguirem cadastrar clientes, até que dia para cadastrar os passeios... Isso é importante para não entregar tudo de uma só vez e o cliente dizer que não é aquilo que espera, com entregas pequenas e frequentes vocês vão aproveitando o feedback e corrigindo o curso do desenvolvimento quando necessário

Regras de negócio

Com base no escopo, é necessário ter clareza das regras de negócio, por exemplo:

  • No cadastro do cliente é necessário validar o CPF?
  • A quantidade de datas disponíveis no agendamento será configurável?
  • Quem tem acesso as configurações do sistema?
    Essa etapa costuma ser bem chatinha, é uma coisa que será revista constantemente, é normal em cada entrega você descobrir novas regras de negócio que seu cliente não te apresentou antes.

Arquitetura

Em relação ao programa propriamente dito, essa é a parte mais complexa de todo o sistema.

  • Como serão as camadas da aplicação
  • Se serão utilizadas técnicas como Clean Architecture, Ports and Adapters, CQRS, o bom e velho MVC, tudo isso junto...
  • O banco de dados que será utilizado
  • Qual estratégia de filas
  • Autenticação e autorização
  • Caching
  • Onde esse projeto será hospedado

Tudo isso que eu disse independe de linguagem de programação, na verdade você pode dividir a aplicação e partes dela serem escritas em diversas linguagens.

Carregando publicação patrocinada...
2

Gostaria de enfatizar a parte de "levantamento de requisitos" e "modelagem"... não sei o porquê mas nós, iniciantes, temos mania de menosprezar essas partes e concentrar energia na parte de programar sendo que esses dois bem feitos diminui e muito as dificuldades na hora de codar.

1
2

Deu até um certo medo olhando seu post(que é magnifico), o medo é que pra ser profissional não é do dia para o outro, eu estudo bastante html,css e js, mas lendo esses comentários aqui vejo que a caminhanda é longa.....

2
1
1
1

Nossa, uau! Com certeza essa é uma visão incrível da coisa! Quase que uma mentoria kkkkkk, muitissímo obrigado pela aula, irei anotar aqui e juntamente com meu amigo iremos analisar direitinho esse "Escopo do projeto".