API Creditos Backend Springboot
Necessario instalar Java 21 para a aplicação
$ sudo apt-get install openjdk-21-jdk
$ java -version
Necessario instalar MariaDB para a aplicação
$ sudo apt-get install mariadb
$ sudo systemctl start mariadb
$ sudo mariadb
Dentro do prompt:
$ CREATE DATABASE creditosdb;
$ CREATE USER 'usuario'@'localhost' IDENTIFIED BY 'senha';
$ GRANT ALL PRIVILEGES ON creditosdb.* TO 'usuario'@'localhost';
$ FLUSH PRIVILEGES;
Database: creditosdb
Username: usuario
Password: senha
Se voce quiser entrar com o usuario criado:
$ sudo mariadb -u usuario -p
O script fornecido para o exercicio seguia o padrão para o Postgre, para o MariaDB necessario alterar a diretiva que indica auto-increment para a chave primaria
Antigo (Postgre):
CREATE TABLE credito(
id BIGINT GENERATED BY DEFAULT AS IDENTITY,
numero_credito VARCHAR(50) NOT NULL,
numero_nfse VARCHAR(50) NOT NULL,
data_constituicao DATE NOT NULL,
valor_issqn DECIMAL(15, 2) NOT NULL,
tipo_credito VARCHAR(50) NOT NULL,
simples_nacional BOOLEAN NOT NULL,
aliquota DECIMAL(5, 2) NOT NULL,
valor_faturado DECIMAL(15, 2) NOT NULL,
valor_deducao DECIMAL(15, 2) NOT NULL,
base_calculo DECIMAL(15, 2) NOT NULL
);
Novo (MariaDB):
CREATE TABLE credito (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
numero_credito VARCHAR(50) NOT NULL,
numero_nfse VARCHAR(50) NOT NULL,
data_constituicao DATE NOT NULL,
valor_issqn DECIMAL(15, 2) NOT NULL,
tipo_credito VARCHAR(50) NOT NULL,
simples_nacional BOOLEAN NOT NULL,
aliquota DECIMAL(5, 2) NOT NULL,
valor_faturado DECIMAL(15, 2) NOT NULL,
valor_deducao DECIMAL(15, 2) NOT NULL,
base_calculo DECIMAL(15, 2) NOT NULL
);
Necessario instalar mensageria Kafka a aplicação
$ wget https://downloads.apache.org/kafka/4.1.0/kafka_2.13-4.1.0.tgz
O wget salva o arquivo em /home/usuario
$ tar -xvzf kafka_2.13-4.1.0.tgz
$ mv kafka_2.13-4.1.0 kafka
$ cd kafka
Necessario criar o topico backend-springboot-topic para a aplicação
$ bin/kafka-topics.sh --create --topic backend-springboot-topic --bootstrap-server localhost:9092
$ bin/kafka-topics.sh --describe --topic backend-springboot-topic --bootstrap-server localhost:9092
Execute os comandos a seguir toda vez que precisar iniciar o Kafka de dentro da pasta /home/usuario/kafka, pois ela chama o /bin
$ KAFKA_CLUSTER_ID="$(bin/kafka-storage.sh random-uuid)"
$ bin/kafka-storage.sh format --standalone -t $KAFKA_CLUSTER_ID -c config/server.properties
$ bin/kafka-server-start.sh config/server.properties
Aguarde o Kafka subir na porta 9092, antes de subir a aplicação