A API REST será desenvolvida utilizando o framework Spring com a linguagem de programação Java.
O Cliente web desenvolvido utilizando a biblioteca React com a linguagem de programação Typescript.
- Documentação da API REST com Open API 3.0 + versionamento do Banco de Dados com Flyway.
- Adição de permissões de usuário. Criação de uma classe para representar as permissões de usuário e associação da mesma na entidade de usuário.
- Autenticação e autorização com validações das permissões no lado cliente.
- Autenticação utilizando o Google - lado cliente. Criação da conta no Google Cloud Console e uso das credenciais na aplicação cliente para autenticação (retorno do idToken pelo Google) e na aplicação servidor para validação do idToken.
- Autenticação utilizando o Google - lado servidor. Criação da conta no Google Cloud Console e uso das credenciais na aplicação servidor para autenticação (retorno do idToken pelo Google).
- Upload de arquivos com armazenamento em Banco de dados e em Disco no Sistema de arquivos.
- Upload de arquivos com armazenamento em um sistema de armazenamento de objetos utilizando MINIO (sistema de armazenamento de objetos semelhante ao Amazon S3).
- Admininstração das aplicações com Spring Boot Admin e Registros de Log.
- Admininstração das aplicações com Spring Boot Admin e Registros de Log (OpenTelemetry).
- Integração da API REST com APIs de processamento de Inteligência Artificial (IA).
- Deploy de aplicações utilizando Docker.
- Python no navegador com PyScript + Pyodide.
Escolha uma linguagem, plataforma e/ou framework para desenvolvimento Web (Java, PHP, Node.js, Perl, Ruby on Rails, .NET(C♯, VB), Python, etc.) ou Híbrido (Android, IOs):
- Struts2
- GWT
- EXTJs
- MEAN
- Vaadin
- *.Net
- Django
- Ruby on Rails
- ZendFramework
- YiiFramework
- CakePHP
- Symfony
- Grails
- Play
- Tapestry
- Pyramid
- Wicket
- TurboGears
- Spark
- Ionic
- Sails
- Bootfaces
- Meteor
- React
- React Native
- Angular
- SolidJS
- Alpine.js
- Lit
- Node.js
- Quarkus
- Quarkus + Kotling
- Cypress
- .Net + C#
- Go
- Node.js + Nest.js
- Flask
- Svelte
- FastApi
- Laravel
- Node.js
- Astro
- Vue.js
- Nest.js
- KMM + Kotlin
- [Deverá ser entregue] Desenvolver uma apresentação (PPT, PDF ou Readme.MD no git) contendo uma breve apresentação do framework e/ou biblioteca escolhida:
- As vantagens e desvantagens da linguagem, framework e/ou plataforma.
- Citando as principais características.
- Servidores Web disponíveis.
- Configurações necessárias para rodar uma aplicação.
- Tipo de licença de software.
- Responsáveis pelo desenvolvimento (proprietário ou comunidade).
- Suas conclusões sobre o uso do framework (facilidade para encontrar materiais, qualidade deses materiais; se é de fácil configuração, etc.)
- [Deverá ser entregue] Deverá ser criado um tutorial de configuração do framework e criação de uma aplicação exemplo.
- A aplicação exemplo deve ser UM CRUD simples (não são necessários relacionamentos) para o cadastro de Pessoa ou qualquer outro tipo de entidade entidade (Pessoa, Livro, Produto, etc.).
- Exemplo:
pessoa: {nome, cpf, telefone, rua, numero, complemento, bairro, cep, cidade, estado}
- O aluno deverá apresentar o trabalho e mostrar a aplicação/código-fonte da mesma (entre 15 e 30 minutos).
- Desenvolvimento do back-end da aplicação
- Desenvolvimento do front-end da aplicação