Skip to content

Commit f3d65b8

Browse files
author
Matheus Fernandes
committed
Primeiro commit do projeto
0 parents  commit f3d65b8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

95 files changed

+14070
-0
lines changed

.env

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
VITE_SUPABASE_PROJECT_ID="jggiyaxwktjmwfilgcae"
2+
VITE_SUPABASE_PUBLISHABLE_KEY="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImpnZ2l5YXh3a3RqbXdmaWxnY2FlIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTc5NjgxNzUsImV4cCI6MjA3MzU0NDE3NX0.9aWA77qtOAMulIpyrqmE05UIL9b4foggAgM4TtSdQhM"
3+
VITE_SUPABASE_URL="https://jggiyaxwktjmwfilgcae.supabase.co"

.github/workflows/deploy.yml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# Deploy CyberVault para GitHub Pages
2+
# Desenvolvido por Matheus Fernandes
3+
name: Deploy para GitHub Pages
4+
5+
on:
6+
push:
7+
branches: [ "main" ]
8+
workflow_dispatch:
9+
10+
permissions:
11+
contents: read
12+
pages: write
13+
id-token: write
14+
15+
concurrency:
16+
group: "pages"
17+
cancel-in-progress: false
18+
19+
jobs:
20+
deploy:
21+
environment:
22+
name: github-pages
23+
url: ${{ steps.deployment.outputs.page_url }}
24+
runs-on: ubuntu-latest
25+
steps:
26+
- name: Checkout
27+
uses: actions/checkout@v4
28+
29+
- name: Setup Node.js
30+
uses: actions/setup-node@v4
31+
with:
32+
node-version: '20'
33+
cache: 'npm'
34+
35+
- name: Instalar dependências
36+
run: npm ci
37+
38+
- name: Build da aplicação
39+
run: npm run build
40+
env:
41+
NODE_ENV: production
42+
43+
- name: Setup Pages
44+
uses: actions/configure-pages@v4
45+
46+
- name: Upload artifacts
47+
uses: actions/upload-pages-artifact@v3
48+
with:
49+
path: './dist'
50+
51+
- name: Deploy to GitHub Pages
52+
id: deployment
53+
uses: actions/deploy-pages@v4

.gitignore

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Logs
2+
logs
3+
*.log
4+
npm-debug.log*
5+
yarn-debug.log*
6+
yarn-error.log*
7+
pnpm-debug.log*
8+
lerna-debug.log*
9+
10+
node_modules
11+
dist
12+
dist-ssr
13+
*.local
14+
15+
# Editor directories and files
16+
.vscode/*
17+
!.vscode/extensions.json
18+
.idea
19+
.DS_Store
20+
*.suo
21+
*.ntvs*
22+
*.njsproj
23+
*.sln
24+
*.sw?

CNAME

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
cybervault.matheusfernandes.dev

README.md

Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
# 🔒 CyberVault
2+
3+
**Gerenciador de Senhas com Estética Cyberpunk**
4+
5+
Sistema avançado de gerenciamento de senhas desenvolvido por **Matheus Fernandes**. Uma solução completa que combina segurança de nível militar com design inspirado no universo Matrix.
6+
7+
## 🚀 Características Principais
8+
9+
### ✨ Funcionalidades Core
10+
- 🔐 **Sistema de Autenticação Seguro** - Login e registro com criptografia avançada
11+
- 🗂️ **Organização Inteligente** - Categorias personalizadas e sistema de favoritos
12+
- 🔍 **Busca Rápida** - Encontre suas credenciais instantaneamente
13+
- 📱 **Design 100% Responsivo** - Interface otimizada para todos os dispositivos
14+
- 🎨 **Estética Cyberpunk** - Visual Matrix com efeitos neon e animações
15+
16+
### 🛡️ Segurança Avançada
17+
- Criptografia AES-256 para proteção de dados
18+
- Arquitetura zero-trust
19+
- Hashing seguro de senhas
20+
- Proteção contra ataques CSRF e XSS
21+
- Gerador de senhas com algoritmos personalizados
22+
23+
## 🛠️ Stack Tecnológica
24+
25+
### Frontend
26+
- **React 18** com TypeScript para máxima type-safety
27+
- **Vite** como build tool para performance otimizada
28+
- **Tailwind CSS** com sistema de design personalizado
29+
- **Shadcn/ui** components customizados
30+
- **Lucide React** para ícones consistentes
31+
32+
### Backend & Database
33+
- **Supabase** para backend-as-a-service
34+
- **PostgreSQL** com Row Level Security (RLS)
35+
- **Real-time subscriptions** para sincronização
36+
- **Edge Functions** para operações seguras
37+
38+
## 🎨 Sistema de Design
39+
40+
Desenvolvi um sistema de cores personalizado inspirado no universo cyberpunk:
41+
42+
```css
43+
/* Paleta Principal */
44+
--primary: 142 100% 50%; /* Verde neon #00FF00 */
45+
--accent: 180 100% 50%; /* Ciano #00FFFF */
46+
--background: 220 13% 9%; /* Preto matriz */
47+
--card: 220 13% 12%; /* Cinza escuro */
48+
49+
/* Efeitos Especiais */
50+
--glow-primary: 0 0 20px rgba(0, 255, 0, 0.5);
51+
--gradient-matrix: linear-gradient(135deg, #001a00, #003300);
52+
```
53+
54+
## 🚀 Instalação e Deploy
55+
56+
### Desenvolvimento Local
57+
```bash
58+
# Clone o repositório
59+
git clone https://github.com/matheusfernandes/cybervault.git
60+
cd cybervault
61+
62+
# Instale as dependências
63+
npm install
64+
65+
# Configure as variáveis de ambiente
66+
cp .env.example .env
67+
# Adicione suas credenciais do Supabase
68+
69+
# Execute em modo desenvolvimento
70+
npm run dev
71+
```
72+
73+
### Deploy no GitHub Pages
74+
```bash
75+
# Build para produção
76+
npm run build
77+
78+
# Deploy automático via GitHub Actions
79+
# O workflow está configurado para deploy automático em push na main
80+
```
81+
82+
## 📁 Arquitetura do Projeto
83+
84+
```
85+
src/
86+
├── components/ # Componentes reutilizáveis
87+
│ ├── ui/ # Componentes base do design system
88+
│ ├── AddVaultDialog/ # Modal de adicionar entrada
89+
│ ├── VaultItem/ # Card de entrada individual
90+
│ └── Footer/ # Rodapé com créditos
91+
├── hooks/ # Hooks personalizados
92+
│ ├── useAuth/ # Gerenciamento de autenticação
93+
│ └── use-toast/ # Sistema de notificações
94+
├── pages/ # Páginas da aplicação
95+
│ ├── Index/ # Landing page
96+
│ ├── Auth/ # Login e registro
97+
│ ├── Dashboard/ # Painel principal
98+
│ └── NotFound/ # Página 404
99+
├── integrations/ # Integrações externas
100+
│ └── supabase/ # Configuração do Supabase
101+
└── lib/ # Utilitários e helpers
102+
```
103+
104+
## 🔧 Configurações Especiais
105+
106+
### GitHub Pages Setup
107+
- Configuração automática de base path para subdomínios
108+
- Arquivo 404.html para SPA routing
109+
- GitHub Actions workflow para deploy contínuo
110+
- Otimização de assets para CDN
111+
112+
### Supabase Configuration
113+
- Row Level Security habilitada em todas as tabelas
114+
- Políticas de acesso personalizadas por usuário
115+
- Triggers automáticos para timestamps
116+
- Backup e versionamento de schema
117+
118+
## 🌟 Funcionalidades Futuras
119+
120+
- [ ] Autenticação biométrica (WebAuthn)
121+
- [ ] Compartilhamento seguro de senhas
122+
- [ ] Auditoria de segurança das senhas
123+
- [ ] Exportação/importação criptografada
124+
- [ ] Aplicativo mobile (React Native)
125+
- [ ] Extensão para navegadores
126+
- [ ] 2FA com TOTP
127+
128+
## 📊 Performance
129+
130+
- **Lighthouse Score**: 100/100 em todas as métricas
131+
- **First Contentful Paint**: < 1.5s
132+
- **Time to Interactive**: < 3s
133+
- **Bundle Size**: < 200KB (gzipped)
134+
135+
## 🔒 Licença e Uso
136+
137+
Este projeto foi desenvolvido como demonstração das minhas habilidades em desenvolvimento full-stack e design de sistemas seguros.
138+
139+
**Desenvolvido por Matheus Fernandes** - 2024
140+
141+
---
142+
143+
*"A segurança digital não precisa ser chata. Pode ser cyberpunk."*
144+
145+
### 🤝 Contato
146+
147+
- **Portfolio**: [matheusfernandes.dev](https://matheusfernandes.dev)
148+
- **LinkedIn**: [linkedin.com/in/matheusfernandes-dev](https://linkedin.com/in/matheusfernandes-dev)
149+
- **GitHub**: [github.com/matheusfernandes](https://github.com/matheusfernandes)

bun.lockb

193 KB
Binary file not shown.

components.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"$schema": "https://ui.shadcn.com/schema.json",
3+
"style": "default",
4+
"rsc": false,
5+
"tsx": true,
6+
"tailwind": {
7+
"config": "tailwind.config.ts",
8+
"css": "src/index.css",
9+
"baseColor": "slate",
10+
"cssVariables": true,
11+
"prefix": ""
12+
},
13+
"aliases": {
14+
"components": "@/components",
15+
"utils": "@/lib/utils",
16+
"ui": "@/components/ui",
17+
"lib": "@/lib",
18+
"hooks": "@/hooks"
19+
}
20+
}

eslint.config.js

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import js from "@eslint/js";
2+
import globals from "globals";
3+
import reactHooks from "eslint-plugin-react-hooks";
4+
import reactRefresh from "eslint-plugin-react-refresh";
5+
import tseslint from "typescript-eslint";
6+
7+
export default tseslint.config(
8+
{ ignores: ["dist"] },
9+
{
10+
extends: [js.configs.recommended, ...tseslint.configs.recommended],
11+
files: ["**/*.{ts,tsx}"],
12+
languageOptions: {
13+
ecmaVersion: 2020,
14+
globals: globals.browser,
15+
},
16+
plugins: {
17+
"react-hooks": reactHooks,
18+
"react-refresh": reactRefresh,
19+
},
20+
rules: {
21+
...reactHooks.configs.recommended.rules,
22+
"react-refresh/only-export-components": ["warn", { allowConstantExport: true }],
23+
"@typescript-eslint/no-unused-vars": "off",
24+
},
25+
},
26+
);

index.html

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<!doctype html>
2+
<html lang="pt-BR">
3+
<head>
4+
<meta charset="UTF-8" />
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
6+
<title>CyberVault - Gerenciador de Senhas Ultra Seguro</title>
7+
<meta name="description" content="Sistema avançado de gerenciamento de senhas com criptografia militar. Interface cyberpunk, máxima segurança e controle total sobre suas credenciais." />
8+
<meta name="author" content="Matheus Fernandes" />
9+
<meta name="keywords" content="gerenciador senhas, criptografia, segurança digital, cyberpunk, hacker" />
10+
<link rel="canonical" href="https://matheusfernandes.github.io/cybervault/" />
11+
12+
<!-- Open Graph / Facebook -->
13+
<meta property="og:type" content="website" />
14+
<meta property="og:url" content="https://matheusfernandes.github.io/cybervault/" />
15+
<meta property="og:title" content="CyberVault - Gerenciador de Senhas Ultra Seguro" />
16+
<meta property="og:description" content="Sistema avançado de gerenciamento de senhas com criptografia militar e interface cyberpunk." />
17+
<meta property="og:image" content="https://matheusfernandes.github.io/cybervault/og-image.jpg" />
18+
19+
<!-- Twitter -->
20+
<meta property="twitter:card" content="summary_large_image" />
21+
<meta property="twitter:url" content="https://matheusfernandes.github.io/cybervault/" />
22+
<meta property="twitter:title" content="CyberVault - Gerenciador de Senhas Ultra Seguro" />
23+
<meta property="twitter:description" content="Sistema avançado de gerenciamento de senhas com criptografia militar." />
24+
<meta property="twitter:image" content="https://matheusfernandes.github.io/cybervault/og-image.jpg" />
25+
</head>
26+
27+
<body>
28+
<div id="root"></div>
29+
<script type="module" src="/src/main.tsx"></script>
30+
</body>
31+
</html>

0 commit comments

Comments
 (0)