Informações da Unidade Curricular
Situação de Aprendizagem
Desafio: API Evolutiva para o "GastroAvaré Finder"
A startup "InovaApp Solutions" precisa de uma equipe de desenvolvedores back-end para construir a "espinha dorsal" do seu novo aplicativo, o "GastroAvaré Finder". O projeto será dividido em duas fases, acompanhando os semestres, e tem como objetivo criar um serviço robusto, seguro e escalável que fornecerá todos os dados necessários para o aplicativo móvel.
Fase 1 (2º Semestre): Fundamentos da API e CRUD
A equipe deverá modelar o banco de dados, construir uma API RESTful utilizando Programação Orientada a Objetos e implementar as operações básicas (CRUD - Criar, Ler, Atualizar, Deletar) para gerenciar os food trucks e seus cardápios, seguindo as melhores práticas de desenvolvimento.
Fase 2 (3º Semestre): Funcionalidades Avançadas e Implantação
A equipe evoluirá a API implementando um sistema completo de autenticação e autorização de usuários, permitirá que usuários logados interajam com o sistema (avaliando e favoritando food trucks), desenvolverá funcionalidades de upload de arquivos e, por fim, implantará (deploy) a aplicação em um serviço de nuvem, pronta para ser consumida pelo front-end.
Recursos à Disposição:
- Computadores com ambiente de desenvolvimento (Node.js, VS Code, Git).
- Acesso a um banco de dados (PostgreSQL ou MySQL).
- Cliente de API (Postman ou Insomnia) para testes.
- Documentação sobre arquitetura REST, Programação Orientada a Objetos e serviços de nuvem.
Critérios de Avaliação
A avaliação será contínua, observando o desenvolvimento das capacidades através dos seguintes critérios.
Legenda: [AU] Autônomo, [PA] Parcialmente Autônomo, [AP] Apoiado, [NS] Não Satisfatório.
Capacidade (Técnica ou Socioemocional) | Critério de Avaliação (O que será observado) |
---|---|
Utilizar o paradigma da programação orientada a objetos | Estrutura o código utilizando classes, atributos, métodos e encapsulamento de forma coesa e organizada. |
Elaborar diagramas de classe | Modela os relacionamentos entre as entidades do sistema (Herança, Composição, etc.) em um diagrama de classes claro. |
Desenvolver API (web services) para integração de dados | Implementa os verbos HTTP (GET, POST, PUT, DELETE) de acordo com os princípios REST para criar, ler, atualizar e deletar recursos. |
Utilizar interações com base de dados para desenvolvimento | Realiza a conexão com o banco de dados e executa as operações de CRUD de forma segura e eficiente. |
Desenvolver sistemas web de acordo com as regras de negócio | Implementa a lógica de autenticação e autorização, garantindo que apenas usuários autorizados acessem recursos protegidos. |
Publicar a aplicação web | Configura as variáveis de ambiente e realiza o deploy da aplicação em um serviço de nuvem, tornando-a acessível publicamente. |
Demonstrar pensamento analítico | Depura e resolve erros no servidor analisando logs e o fluxo de dados entre cliente, servidor e banco de dados. |
Demonstrar autogestão | Organiza as tarefas utilizando um sistema de quadros (Kanban) e versiona o código-fonte da API de forma eficaz. |
Demonstrar autonomia | Pesquisa soluções para problemas técnicos em documentações oficiais e fóruns, tomando decisões de implementação fundamentadas. |
Demonstrar inteligência emocional | Colabora com a equipe, comunicando o progresso e os desafios de forma clara e recebendo feedbacks de forma construtiva. |
Cronograma de Aulas
Clique em um dia para ver os detalhes da aula.