https://github.com/cesarvasconcelos/p3
Códigos produzidos nas aulas de Programação III - IFPB Campus CG
https://github.com/cesarvasconcelos/p3
java springframework
Last synced: 8 months ago
JSON representation
Códigos produzidos nas aulas de Programação III - IFPB Campus CG
- Host: GitHub
- URL: https://github.com/cesarvasconcelos/p3
- Owner: cesarvasconcelos
- Created: 2025-03-28T17:23:32.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-03-28T18:20:22.000Z (about 1 year ago)
- Last Synced: 2025-03-28T19:24:48.684Z (about 1 year ago)
- Topics: java, springframework
- Homepage:
- Size: 3.91 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# IFPB - Programação III
Instituto Federal de Educação, Ciência e Tecnologia da Paraíba - IFPB - *Campus*
CG / PB
**Disciplina**: Programação III.
Neste repositório, encontram-se exemplos de código utilizados em sala de aula.
Os códigos não devem ser usados como único material de referência para estudo.
Há trechos de códigos incompletos, com erros e/ou outros problemas de
implementação, os quais devem ser analisados pelo aluno como exercício de
programação.
## Objetivos de aprendizado
- Como projetar e implementar aplicações Web coorporativas usando framework Spring
- Implementar o front-end e back-end de uma aplicação Web típica
- Operações CRUD, submissão de formulários HTML, validação e integração com banco de dados
- Spring ecossistema: Spring Web MVC, Spring Integration, Spring Testing, Spring Boot, Spring
Data/JPA, Spring Security and Spring AOP
- No Spring Security, como realizar autenticação com login, gerência de sessões e autorização baseada em privilégios
- Discutir boas práticas no projeto de aplicações orientadas a microserviços
- Construir REST APIs e Aplicações Web com Spring MVC, Thymeleaf, Bootstrap CSS
- Persistência em banco de dados usando Spring Data JDBC/JPA, MySQL/MariaDB, Flyway
- Como utilizar ORM Frameworks (e.g., Hibernate)
- Setup do desenvolvimento local com Docker, Docker Compose e Testcontainers
- Usar o JUnit5, AssertJ, Mockito para testes
## Material de Referência
Os principais materiais de estudo usados na disciplina são os seguintes livros: [Spring Start
Here](https://www.manning.com/books/spring-start-here) e [Use a Cabeça! HTML e
CSS](https://www.amazon.com.br/Use-Cabe%C3%A7a-HTML-Eric-Freeman/dp/8576088622).
Outras fontes de leitura serão indicadas pelo professor.
As documentações oficiais:
- [Spring Website](https://spring.io/)
- [Spring Projects](https://spring.io/projects)
- [Spring Framework Javadoc API](https://docs.spring.io/spring-framework/docs/current/javadoc-api/)
- [HTML Reference](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference)
- [CSS Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference)
- [Thymeleaf](https://www.thymeleaf.org/)
Outros links:
- [Spring initializr](https://start.spring.io/) para gerar projetos. Alternativamente, pode-se usar
o comando `spring init` via linha de comando (instalável via [SDKMAN](https://sdkman.io/)) com
parâmetros como, por exemplo:
```bash
spring init \
--name=my-web-app \
--groupId=com.example \
--artifactId=my-web-app \
--package-name=com.example.mywebapp \
--dependencies=web,security,data-jpa,mariadb,docker-compose,testcontainers,thymeleaf,validation,flyway \
--java-version=21 \
--packaging=jar \
--version=0.0.1-SNAPSHOT \
--boot-version=3.5.6 \
--build=maven \
my-web-app
```
## Suporte ferramental básico
- Um navegador (Firefox, Brave, Google Chrome, Opera, Safari, etc.)
- Uma distribuição OpenJDK (e.g., [Amazon Correto](https://aws.amazon.com/corretto/)) - pode ser instalada via [SDKMAN](https://sdkman.io/)
- [IntelliJ IDEA](https://www.jetbrains.com/idea/)
- [Apache Maven](https://maven.apache.org/)
- [Docker Desktop](https://docs.docker.com/get-started/get-docker/)
- Um editor de texto (e.g., [Visual Studio Code](https://code.visualstudio.com/) ou [TRAE](https://trae.ai/))
- Spring Boot CLI (instalável via [SDKMAN](https://sdkman.io/)) para usar o comando `spring init`
- Algumas [extensões](https://marketplace.visualstudio.com/vscode) do Visual Studio Code, que serão sugeridas pelo professor.
## Este repositório
Pode-se obter apenas os [códigos](https://github.com/cesarvasconcelos/daweb1/archive/master.zip) ou, alternativamente, utilizar o [Git](https://git-scm.com/) para clonar todo o repositório funcional e seu histórico de versões:
```
$ git clone https://github.com/cesarvasconcelos/p3.git
```
## Autor
* **Prof. Dr. César Vasconcelos (cesarocha@ifpb.edu.br)** - [GitHub Page](https://github.com/cesarvasconcelos)