Kernel é um sistema de gerenciamento de biblioteca digital especializado em livros de Tecnologia da Informação. A plataforma permite organizar, categorizar e acompanhar o progresso de leitura de livros técnicos, oferecendo uma interface moderna e intuitiva para profissionais e entusiastas da área. O sistema resolve o problema de desorganização e falta de controle sobre acervos digitais, proporcionando uma experiência centralizada para gerenciar materiais de estudo e referência técnica.
- HTML5 - Estrutura semântica das páginas
- CSS3 - Estilização moderna com variáveis CSS e design responsivo
- JavaScript (Vanilla) - Lógica de interação e manipulação do DOM
- PWA Features - Suporte a Progressive Web App com manifest e favicons
- C# (.NET) - Linguagem principal de desenvolvimento
- ASP.NET Core - Framework para construção de APIs REST
- Entity Framework Core - ORM para acesso a dados e mapeamento objeto-relacional
- SQLite - Banco de dados leve e local (Local-First architecture)
- Entity Framework Core SQLite - Provider para persistência de dados
- Microsoft.EntityFrameworkCore - ORM para manipulação de dados
- Microsoft.EntityFrameworkCore.Sqlite - Provider SQLite para EF Core
- .NET 8.0 - Framework runtime e SDK
- Gerenciamento de Livros: Cadastro, edição e exclusão de livros técnicos com metadados completos (título, autor, ISBN, editora, descrição)
- Categorização por Áreas: Organização em múltiplas categorias de TI (Programação, Redes, Infraestrutura, Segurança, Design, etc.)
- Acompanhamento de Progresso: Registro de páginas lidas, cálculo automático de porcentagem de conclusão e tracking de datas de início e fim
- Filtragem Dinâmica: Filtragem de livros por área de conhecimento com interface intuitiva
- Interface Responsiva: Design adaptável para diferentes dispositivos e tamanhos de tela
- Local-First Architecture: Dados armazenados localmente com privacidade e acesso offline
- Sistema de Busca: Localização rápida de livros por título, autor ou categoria
- Visualização de Capas: Suporte a imagens de capa com fallback para placeholders
- API REST: Endpoints para integração e manipulação programática dos dados
- .NET 8.0 SDK instalado
- Navegador web moderno (Chrome, Firefox, Edge, Safari)
- Editor de código (Visual Studio, VS Code, ou similar)
-
Clonar o repositório
git clone https://github.com/mauriciospark/kernel.git cd kernel -
Restaurar dependências do projeto C#
cd CSharp dotnet restore -
Executar o backend (API)
dotnet run
A API estará disponível em
http://localhost:5000 -
Abrir o frontend
- Abra o arquivo
index.htmldiretamente no navegador - Ou use um servidor local para desenvolvimento:
# Usando Python python -m http.server 8000 # Usando Node.js (http-server) npx http-server -p 8000
- Acesse
http://localhost:8000
- Abra o arquivo
-
Primeiro uso
- O banco de dados SQLite será criado automaticamente na primeira execução
- Categorias pré-configuradas serão inseridas automaticamente
- Livros de exemplo estarão disponíveis para teste
kernel/
├── index.html # Página principal
├── css/
│ └── style.css # Estilos da aplicação
├── js/
│ └── script.js # Lógica frontend
├── CSharp/ # Projeto backend .NET
│ ├── Core/ # Entidades e interfaces
│ ├── Infrastructure/ # Repositórios e contexto de dados
│ └── API/ # Controllers e endpoints
├── livros/ # Arquivos PDF dos livros
├── docs/ # Documentação do projeto
└── favicon/ # Ícones e assets PWA
Para desenvolvimento ativo, recomenda-se:
- Usar VS Code com extensões C# e Live Server
- Executar backend em modo watch:
dotnet watch run - Usar ferramentas de desenvolvimento do navegador para debugging JavaScript