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 |