Site para armazenamento eficiente de propriedades de software com base em autômatos celulares para funções hash.
🌐 Acesse o projeto online: https://autov.erickborba.dev.br
- Criação de títulos (arquivos) públicos para armazenamento de hashes
- Verificação de integridade de títulos registrados com base nos hashes
- Barra de pesquisa para busca
- Favoritar títulos para fácil acesso
- Frontend:
- React
- Redux Toolkit
- React Router
- CSS Modules
- Hosting: Vercel (autov.erickborba.dev.br)
- Backend:
- Java 21 / Spring Boot
- Spring Security & JWT
- Hibernate & Spring Data JPA
- Hosting: VPS Oracle Cloud (Always Free)
- Database:
- DevOps & Infra:
A arquitetura segue o mesmo fluxo desacoplado:
- Frontend (Vercel):
- Deployado diretamente na Vercel como Single Page Application.
- Comunica-se com o backend via variável de ambiente
REACT_APP_API_URL. - Gerencia rotas SPA através do
vercel.json(rewrites para/index.html).
- Backend & Database (VPS Oracle):
- Orquestrados via
docker-compose.yml. - O PostgreSQL persiste seus dados no volume nomeado
pgdata. - O backend Spring Boot consome a imagem
ghcr.io/erick1-618/automatonverify-backend:latest.
- Orquestrados via
- CI/CD Automatizado (GitHub Actions):
- A cada
pushna branchmainalterandoautoverify-api/**:- Build da imagem Docker multi-plataforma (
linux/arm64para processadores Ampere A1 da Oracle Cloud). - Push da imagem no GitHub Container Registry (
ghcr.io). - Conexão SSH na VPS da Oracle para executar
docker compose pull && docker compose up -d --force-recreate.
- Build da imagem Docker multi-plataforma (
- A cada
- Conecte-se à sua máquina da Oracle e crie a pasta do projeto:
mkdir -p ~/AutomatonVerify && cd ~/AutomatonVerify
- Copie o
docker-compose.ymle crie o arquivo.env:cp .env.example .env # Edite as credenciais e variáveis nano .env - Garanta que as portas necessárias estejam liberadas no firewall da VM e na Security List da Oracle Cloud (VCN Ingress Rules):
- Porta
8080(API Spring Boot) ou porta80/443se utilizar um Reverse Proxy (NGINX/Caddy).
- Porta
No repositório do GitHub, vá em Settings > Secrets and variables > Actions e cadastre as seguintes Repository Secrets:
ORACLE_HOST: Endereço IP público da sua máquina Oracle.ORACLE_USER: Usuário SSH da VM (ex:ubuntuouopc).ORACLE_SSH_KEY: Sua chave privada SSH para acesso à máquina.
- Importe o repositório na Vercel.
- Defina o Root Directory como:
autoverify-front - Em Environment Variables, adicione:
REACT_APP_API_URL: URL pública da sua API na VPS Oracle (ex:http://<IP_DA_ORACLE>:8080ouhttps://api.seudominio.com).
- Realize o deploy.
docker compose up -d db backendPara rodar o frontend localmente em modo de desenvolvimento:
cd autoverify-front
npm install
npm startdocker compose --profile dev up --buildAcesse http://localhost:3000.
AutomatonVerify/
├── .github/
│ └── workflows/
│ └── backend-deploy.yml # CI/CD: build arm64, push GHCR e deploy SSH
├── autoverify-api/ # API Spring Boot (Java 21)
│ ├── Dockerfile
│ └── src/
├── autoverify-front/ # Frontend React
│ ├── vercel.json # Configuração SPA para Vercel
│ ├── .env.example
│ └── src/
├── docker-compose.yml # Orquestração de containers (db + backend)
├── .env.example # Template de variáveis da VPS
└── README.md
Este projeto está licenciado sob a GNU General Public License v3.0 - veja o arquivo LICENSE para mais detalhes.

