CertiBlock é uma plataforma SaaS de código aberto para emissão, verificação e rastreamento de certificados digitais imutáveis utilizando tecnologia blockchain e IPFS. Ideal para instituições de ensino, eventos, treinamentos e organizações que necessitam garantir a autenticidade e integridade de certificados digitais.
- 🚀 Visão Geral
- 🧰 Tecnologias Utilizadas
- ⚙️ Pré-requisitos
- 🔧 Instalação e Execução
- 📄 Documentação da API
- 🧪 Testes
- 🚀 Deploy com Docker e Easypanel
- 📚 Contribuindo
- 📄 Licença
O CertiBlock permite:
- Emissão de Certificados: Geração de certificados digitais com armazenamento descentralizado.
- Verificação de Autenticidade: Validação pública dos certificados através de hash na blockchain.
- Interface Intuitiva: Painel administrativo para gerenciamento de certificados e usuários.
- Frontend: React.js, ethers.js
- Backend: FastAPI (Python)
- Blockchain: Ethereum/Polygon via Hardhat
- Armazenamento Descentralizado: IPFS
- Banco de Dados: PostgreSQL
- Containerização: Docker, Docker Compose
- Deploy: Easypanel
Antes de iniciar, certifique-se de ter instalado:
- Docker
- Docker Compose
- Node.js (versão 14 ou superior)
- Python (versão 3.8 ou superior)
-
Clone o repositório:
git clone https://github.com/sumifitbr/certiblock.git cd certiblock -
Configure as variáveis de ambiente:
Crie um arquivo .env com o conteúdo:
IPFS_API=/dns/ipfs/tcp/5001/http- Execute o Docker Compose:
docker-compose up --buildAcesse o frontend em http://localhost:3000 e o backend em http://localhost:8000.
- Acesse o Easypanel e crie um novo projeto.
- Configure os serviços com Dockerfile para frontend e backend, e configure o IPFS como imagem Docker.
- Verifique os logs e inicie os serviços.
- Fork o projeto
- Crie uma branch para sua feature
- Faça commit das suas mudanças
- Submeta um Pull Request