Skip to content

dany99222/secret-app

Repository files navigation

🔐 Secrets App

App full-stack para guardar secretos de forma segura, con autenticación, CRUD completo, filtros y paginación.

Next.js TypeScript Prisma Tailwind CSS

✨ Features

  • 🔐 Autenticación con email/contraseña y Google OAuth
  • 📝 CRUD completo de secretos
  • 🏷️ Tipos de secreto: Normal, Medio, Hard 🔥
  • ⭐ Marcar secretos como favoritos
  • 🔍 Búsqueda en tiempo real
  • 🎛️ Filtros por tipo y favoritos
  • 📅 Ordenar por fecha
  • 📄 Paginación
  • 📱 Mobile first
  • 🍞 Notificaciones con Toastify

🛠️ Tech Stack

Tecnología Uso
Next.js 15 Framework full-stack
Better Auth Autenticación
Prisma 6 ORM
Neon PostgreSQL serverless
Zustand Estado global
Zod Validaciones
React Hook Form Formularios
Tailwind CSS Estilos
React Toastify Notificaciones

🚀 Instalación local

1. Clona el repositorio

git clone https://github.com/tu-usuario/secrets-app.git
cd secrets-app

2. Instala las dependencias

npm install

3. Configura las variables de entorno

Crea un archivo .env en la raíz del proyecto:

# Database (Neon PostgreSQL)
DATABASE_URL="postgresql://user:password@ep-xxx.neon.tech/neondb?sslmode=require"

# Better Auth
BETTER_AUTH_SECRET="tu-secret-aqui"
BETTER_AUTH_URL="http://localhost:3000"
NEXT_PUBLIC_BETTER_AUTH_URL="http://localhost:3000"

# Google OAuth
GOOGLE_CLIENT_ID="tu-client-id"
GOOGLE_CLIENT_SECRET="tu-client-secret"

4. Genera el cliente de Prisma y crea las tablas

npx prisma generate
npx prisma db push

5. Corre el proyecto

npm run dev

Abre http://localhost:3000 en tu navegador.

🗄️ Estructura del proyecto

src/
├── app/
│   ├── (auth)/
│   │   ├── login/
│   │   └── register/
│   ├── (dashboard)/
│   │   ├── dashboard/
│   │   └── secrets/
│   └── api/
│       ├── auth/
│       └── secrets/
├── components/
│   └── secrets/
│       ├── SecretCard.tsx
│       ├── SecretFilters.tsx
│       └── SecretForm.tsx
├── hooks/
│   └── useSecrets.ts
├── lib/
│   ├── auth.ts
│   ├── auth-client.ts
│   ├── prisma.ts
│   └── validations/
│       ├── auth.ts
│       └── secret.ts
├── store/
│   ├── useAuthStore.ts
│   └── useSecretsStore.ts
└── types/
    └── index.ts

🌐 Deploy en Vercel

  1. Importa el repositorio en Vercel
  2. Agrega las variables de entorno con tu URL de producción
  3. Agrega la URL de producción en Google Cloud Console como redirect URI autorizado:
https://tu-app.vercel.app/api/auth/callback/google

📝 Variables de entorno en producción

DATABASE_URL=tu-neon-url
BETTER_AUTH_SECRET=tu-secret
BETTER_AUTH_URL=https://tu-app.vercel.app
NEXT_PUBLIC_BETTER_AUTH_URL=https://tu-app.vercel.app
GOOGLE_CLIENT_ID=tu-client-id
GOOGLE_CLIENT_SECRET=tu-client-secret

📸 Screenshots

Próximamente...

📄 Licencia

MIT

About

Full-stack secrets manager built with Next.js 15, Better Auth (email + Google OAuth), Prisma ORM, Neon PostgreSQL, Zustand and Zod

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors