Skip to content

pedrohpsantos/EdTech

Repository files navigation

EdTech Banner

EdTech — Repositório Científico e Ecossistema Acadêmico

Deploy MkDocs CI Pipeline NodeJS Java Google Cloud Firebase

EdTech é uma plataforma de software para digitalizar, armazenar e auditar publicações científicas, relatórios de pesquisa e datasets de laboratórios acadêmicos. O sistema foi projetado com foco em rastreabilidade, controle de acesso baseado em perfis e integridade de dados.

📖 Portal Oficial da Documentação: pedrohpsantos.github.io/EdTech


Visão Geral

O EdTech centraliza o ciclo de vida de documentos acadêmicos em um único repositório auditável, eliminando o uso de soluções ad hoc (e-mail, pen drives, planilhas compartilhadas) para gestão de arquivos científicos.

  • Rastreabilidade: Cada operação relevante é registrada em trilha de auditoria imutável.
  • Governança de Acesso: Controles de autorização por perfil — Pesquisador, Orientador e Auditor.
  • Segurança: Autenticação via JWT (Bearer Token), armazenado no Local Storage, anulando riscos de CSRF, com comunicação exclusivamente via HTTPS em produção.

Estrutura do Monorepo

Módulo Responsabilidade Stack
🎨 Frontend (UI) Interface SPA responsiva para os usuários da plataforma. React 19, Vite 8, Vanilla CSS
⚙️ Backend (API) API RESTful com regras de negócio, segurança e persistência. Java 21, Spring Boot 4.1
☁️ Infraestrutura Orquestração de containers e configuração de infraestrutura em nuvem. GCP, Terraform, Docker Compose
📄 Documentação Portal de documentação técnica e arquitetural (Docs-as-Code). MkDocs Material
📊 Scripts Scripts de telemetria e análise para o Orientador. Python, Pandas
🕵️ Testes Testes de integração, carga e qualidade da plataforma. Playwright, K6

Status Operacional

Status Item
Autenticação JWT via cabeçalho Authorization Bearer
CI/CD via GitHub Actions e deploy no Cloud Run
Migrações de banco gerenciadas pelo Flyway
Armazenamento de arquivos no GCS (Google Cloud Storage)
Upload de documentos PDF e datasets CSV/JSON
Exportação CSV da trilha de auditoria por documento
Rate limiting nas rotas de autenticação (Bucket4j)
Backup automático diário do banco de dados (Cloud Scheduler)
Painel analítico dedicado para o Orientador
🚧 Scan de malware em uploads (ClamAV)

Principais Rotas da API

Método Endpoint Autenticação Descrição
POST /api/v1/auth/login Autentica o usuário e retorna o token JWT
GET /api/v1/documents Lista os documentos paginados (conforme perfil)
POST /api/v1/documents/upload Realiza o upload de novo documento para o GCS
POST /api/v1/documents/{id}/review (Orientador) Aprova ou rejeita uma submissão

📌 Para a especificação OpenAPI completa, inicie a API localmente e acesse o Swagger UI, ou explore a coleção pronta na pasta .postman/.


Quick Start Local

O ambiente de desenvolvimento completo pode ser iniciado via Docker Compose, sem necessidade de instalar dependências individualmente.

# Clone o repositório
git clone https://github.com/pedrohpsantos/EdTech.git
cd EdTech

# Configure as variáveis de ambiente locais
cp infra/.env.example infra/.env
# Edite o arquivo infra/.env com os valores adequados

# Suba os serviços
cd infra
docker compose up --build -d
  • Frontend: http://localhost:5173
  • Backend: http://localhost:8080

Contribuição e Governança

Consulte os documentos abaixo antes de contribuir com o projeto:

Todos os commits devem seguir o padrão Conventional Commits. PRs sem testes associados serão rejeitados pelo CI.

About

Plataforma web de gestão acadêmica e armazenamento em nuvem para laboratórios universitários e projetos de iniciação científica.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

7 stars

Watchers

0 watching

Forks

Releases

No releases published

Contributors