Forem

Cover image for Configurando o ambiente de desenvolvimento - P2
Flávia Correia
Flávia Correia

Posted on • Edited on

3 1

Configurando o ambiente de desenvolvimento - P2

Faala pessoal, tudo bom?

Dando continuidade ao meu primeiro post sobre REST API's , vim comentar um pouco sobre como configurei meu ambiente de desenvolvimento para fazer esse projeto.

Sobre o projeto

A ideia é fazer um sistema simples de biblioteca, com CRUD de livros e usuários (leitores e administrador).

As tabelas no banco são:
Livro; Categoria; Editora; Escritor; Empréstimo; Reserva; Usuário; etc.

Nossas regras de negócio:

  1. Livro possui autor, categoria, título, ano da publicação, quantidade de exemplares disponíveis, ele pode ser reservado, emprestado e devolvido.

  2. O Leitor possui um usuário e ele pode visualizar os livros disponíveis, pode fazer uma reserva e empréstimo.

  3. O administrador faz o gerenciamento dos empréstimos, das reservas e devoluções. Além disso ele também possui usuário.

Com essa ideia, criei esse modelo de banco de dados relacional no MySQL Workbenck:

modelagem de banco de dados para biblioteca

As tecnologias que irei utilizar

  1. Linguagem de programação: Java
  2. JRE/JDK: 11 (estou utilizando o OpenJDK)
  3. Framework: Spring Tools Suite 4
  4. Banco de dados: MySQL
  5. Servidor do DB e PHPMyAdmin: Docker (você pode utilizar o MyQSQL Server e MySQL Workbenck)
  6. Realizar as requisições: Postman (você pode utilizar o Insomnia ou algum similar)

Um adendo: eu utilizo o Linux, então recomendo que utilize o WSL para rodar o Docker, caso seu SO seja Windows ou utilize as opções que citei acima.

Minhas configurações do Docker

No estágio que faço na Fábrica de Software (CPDS-UESB) utilizamos o Laravel para desenvolver sistemas web, e por precisar rodar o Apache, o servidor de DB e a interface para acessar o banco utilizamos o Docker.

Os containers foram configurados pelo Gêneses Lopes, junto com o Tulio Calil e Reinaldo Bispo, eles deixaram tudo bonitinho, então como já tenho instalado na minha máquina preferi usá-lo.

O repositório do projeto você acessa aqui com todas as infos de instalação e configuração.Faça alterações de portas no .env, eu fiz para o utilizar o PhpMyAdmin porque está configurado por padrão na porta 8080 e o Tomcat do Spring utiliza também a porta 8080, então modificando não terá conflito de portas.

  • Os contêineres utilizados: phpmyadmin e mysql

Para iniciar o Docker

No terminal:
sudo systemctl start docker

Para rodar os containers
Normalmente, quando o Docker é iniciado o PHPMyAdmin e MySQL já estão rodando, caso não, no terminal insira o comando:

docker container start mysql

docker container start phpmyadmin

Alternativa ao terminal
Uma outra opção é utilizar a extensão do Docker no VS Code, lá é possível ver os containers rodando, iniciá-los, pará-los, reiniciá-los, excluir as imagens, enfim.

Para acessar o PhpMyAdmin
http://localhost:[suaporta] (a minha coloquei 9090)

  • servidor: mysql;
  • usuário e senha: root;

Bom, é isso.
Qualquer dúvida ou sugestão, deixe nos comentários!

Fique na paz e até mais! :D

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read full post →

Top comments (0)

Bump.sh

Hate writing docs?

Hate undocumented APIs even more?

Bump.sh generates an always up-to-date API reference site for REST and Event-Driven Architectures.

Plug it in your CI. It fetches your OpenAPI and AsyncAPI (GraphQL pending) spec files, and even generates a diff. Gather all of your API docs in a single source of truth.

Try it for free

👋 Kindness is contagious

Dive into an ocean of knowledge with this thought-provoking post, revered deeply within the supportive DEV Community. Developers of all levels are welcome to join and enhance our collective intelligence.

Saying a simple "thank you" can brighten someone's day. Share your gratitude in the comments below!

On DEV, sharing ideas eases our path and fortifies our community connections. Found this helpful? Sending a quick thanks to the author can be profoundly valued.

Okay