Minha Vacina é um projeto de conclusão do curso Sistemas de Informação do Centro Universitário Cesmac, foi realizado pelos formandos Edvan Oliveira e Pedro Felipe, sob orientação do mestre Carlos Lessa.
O objetivo inicial do sistema Minha Vacina era o desenvolvimento de um software que diminuísse as filas por buscas de informações sobre a COVID-19 e ao mesmo tempo auxiliasse as pessoas a não perderem os prazos de vacinação. Com a evolução do software percebemos que seu potencial iria além da COVID-19 e ampliamos seus recursos para auxiliar na vacinação de outras doenças.
📱 Minha Vacina APP
-
O aplicativo Minha Vacina, se propõe a atuar como uma ferramenta de lembretes e monitoramento de campanhas de vacinação a respeito da condição da vacinação contra a covid-19 e outras doenças. A aplicação foi concebida de forma a ser uma solução que possibilite o aviso instantâneo aos seus usuários em uma possível campanha de vacinação que esteja ativa e também ser lembrado o dia exato que adicionou o lembrete da campanha.
-
Tal campanha poderá ser criada em um gerenciador pelo órgão responsável, e o usuário automaticamente receberá uma notificação da campanha, possibilitando o mesmo acompanhar as informações relevantes da campanha como: data, horário, locais, idade e tempo de duração.
💻 Minha Vacina Web
- O gerenciador da web, tem uma tela inicial onde irá listar as campanhas ativas/inativas, ele tem a função de cadastrar e acompanhar as campanhas que serão listadas no aplicativo. Tendo em vista essa funcionalidade, o órgão responsável poderá cadastrar, atualizar e ativar ou desativar as campanhas do município.
🎮 Minha Vacina API
- Web service, é um dos pilares entre essa aplicação que é o mais importante, sem ela o aplicativo não tem vida. O mesmo gerência o backend da aplicação, onde faz o papel de se comunicar com o gerenciador da web e o aplicativo ao mesmo tempo. Fazendo a comunicação com banco de dados onde ficaram todos os dados e informações que nele forem requisitadas.
Esse vídeo demonstrativo descreve a principal função do sistema Minha Vacina. No vídeo podemos ver os seguintes passos:
-
Cadastrar um novo usuário no APP.
-
Associar esse usuário cadastrado com a vacina do coronavírus.
-
Entrar no gerenciador Web e cadastrar uma nova campanha de vacinação contra o coronavírus.
-
Notificar o usuário do APP que uma nova campanha de vacinação contra o coronavírus foi cadastrada em seu município.
-
O usuário do APP recebe a notificação, clica nela e é redirecionado para a tela de detalhes da nova campanha cadastrada no gerenciador Web.
-
E por fim, ainda na tela de detalhes da campanha, o usuário do APP clica no botão para ser lembrado da campanha contra o coronavírus.
Para realizar a comunicação entre os sistemas, foi utilizado o modelo de arquitetura Web Service, seguinde os padrões REST. Como podemos ver na imagem abaixo, o Minha Vacina API está no centro do arquitetura e é responsavél por gerenciar e realizar a comunicação de todo o sistema.
Como podemos ver no repositório, o software Minha Vacina consiste em um conjunto de três sistemas que interagem entre si trocando dados e informações, são eles: Minha Vacina API, Minha Vacina Web e Minha Vacina APP.
- Java
- Spring Boot
- PostgreSQL
- Token JWT
- Spring Security
- Spring Data JPA
- Lombok
- Maven
- Firebase Cloud Messaging
- Java
- JavaServer Faces
- Lombok
- Maven
- Primefaces
- PrimeFlex
- CSS3
- Servidor Tomcat
- TypeScript
- JavaScript
- React Native
- Expo
- NPM
- Axios
- NodeJS
- CSS
- HTMLView
Para conseguir executar as instruções a seguir e rodar os três projetos, será necessário instalar os seguintes programas: Java, NodeJS, Git, PostgreSQL, Maven e também é fortemente recomendado o uso de IDEs como VSCode e Eclipse.
Para a aplicação conseguir rodar é preciso preparar o banco de dados, vamos começar criando uma base de dados no PostgreSQL chamada 'minha_vacina'
CREATE DATABASE minha_vacina ENCODING 'UTF8';
Em seguida é necessário criar o usuário com permissão de login, o nome será tcc e a senha 123456
CREATE ROLE tcc WITH LOGIN SUPERUSER PASSWORD '123456';
Depois do Spring Boot criar as tabelas, é necessário criar um usuário administrador para conseguir realizar o login no Minha Vacina Web. O email será [email protected] e a senha admin.
-- Inserindo as permissões dos usuários
INSERT INTO permissoes (descricao)
VALUES ('ROLE_APP'), ('ROLE_WEB');
-- Inserindo o usuário administrador (senha criptografada)
INSERT INTO usuarios (email, senha )
VALUES ('[email protected]', '$2a$12$r8nNfu.xdMma2v0buFNzJ.RCR5dHAJ9ec4Fw9OCcjbtQ4CR4MGVga');
-- Setando permissão de administrador ao usuário admin
INSERT INTO usuarios_permissoes (usuario_id, permissao_id)
VALUES (1, 2);
$ git clone https://github.com/Edvan-Oliveira/minha-vacina-api.git
$ cd minha-vacina-api
$ mvn clean install
$ mvn spring-boot:run
# Se a aplicação rodou, não é necessário seguir os próximos passos
$ cd target
$ java -jar minha-vacina-api-0.0.1-SNAPSHOT.jar
$ git clone https://github.com/Pedrofelipem/minha-vacina-app.git
$ cd minha-vacina-app
$ npm i
$ npm start
Para o Minha Vacina Web as configurações precisam de passos extras.
$ git clone https://github.com/Edvan-Oliveira/minha-vacina-web.git
$ cd minha-vacina-web
$ mvn clean install
Depois de executar os comando a cima é recomendado o uso de uma IDE para facilitar a integração do projeto web com o servidor tomcat, recomendo o Eclipse ou Intellij.
Edvan Oliveira
Pedro Felipe