Linguagem

Escolha da Linguagem

Para o desenvolvimento do software, a equipe optou por utilizar uma combinação de linguagens de programação que atendem às necessidades específicas do projeto. Dentre elas estão:

  • TypeScript
  • Python
  • HTML - Linguagem de marcação
  • CSS - Folha de estilização

TypeScript: Será utilizado tanto para back-end quanto para front-end, em conjunto com o framework React.

HTML e CSS: Será utilizada para criar todo o corpo e design do sistema.

Python Sera utilizado para o back-end em conjunto com TypeScript.

Por se tratar de uma arquitetura em microserviços, poderão ser adotadas outras linguagens pelo desenvolvedor a depender do propósito. Essa escolha visa promover uma base sólida para a construção de microserviços, priorizando a consistência e manutenibilidade do código.

Critérios de Escolha

Os critérios para a escolha das linguagens foram definidos com base em alguns fatores, incluindo:

  • Familiaridade da Equipe: A equipe de desenvolvimento possui uma sólida experiência e familiaridade com as linguagens escolhidas, garantindo eficiência e produtividade durante o ciclo de desenvolvimento.

  • Compatibilidade: A robustez do TypeScript em conjunto com o React para o front-end e back-end oferece vantagens significativas, como tipagem estática, facilitando a detecção de erros durante o desenvolvimento, e suporte a modernos recursos ECMAScript, além incoporar outras linguagens como python que possui um sintaxe clara e as diversas bibliotecas e frameworks disponíveis para o back-end.

Estratégia de Design e Implementação

O projeto adotará os princípios SOLID para promover uma arquitetura de software flexível, escalável e de fácil manutenção. Por exemplo, o princípio da Responsabilidade Única (SRP) será aplicado, garantindo que cada classe ou módulo tenha uma única responsabilidade.

Um exemplo prático pode ser a criação de classes específicas para manipulação de autenticação de usuários e gerenciamento de sessões.

Ferramentas de Desenvolvimento

Para alcançar os objetivos do projeto, serão utilizadas diversas ferramentas de desenvolvimento, incluindo:

  • Ambiente de Desenvolvimento: Visual Studio Code.
  • Controle de Versão: Git para o gerenciamento eficiente de código-fonte.
  • Framework Front-end: React para a construção de interfaces dinâmicas.
  • Framework Back-end: Alguns exemplos de framework podem ser, Flask (Python) Nest.js (Typescript). No entanto, fica a critério do desenvolvedor sênior utiliza-las ou acrescentar mais frameworks.
  • Bibliotecas Adicionais: Axios para requisições HTTP eficientes no front-end e Flask-RESTful para a criação de APIs RESTful no back-end.

Essas ferramentas foram escolhidas para proporcionar uma experiência de desenvolvimento homogêneo e eficaz, alinhada aos objetivos e requisitos do projeto.

Cronograma

Tarefa Data Tarefa realizada
Etapa 1 23/08/2023 Reunião com o requisitante do projeto
Etapa 2 05/09/2023 Definição dos requisitos
Etapa 3 14/09/2023 Criação da identidade visual
Etapa 4 28/09/2023 Elaboração da doumentação
Etapa 5 15/10/2023 Prototipação