βββββββββ ββββββ βββββββββββ ββββββββββββββ βββββββ βββ βββ
ββββββββββββββββββββββββββββ βββββββββββββββ ββββββββββββ βββ
βββ βββββββββββββββββββββββ ββββββ βββ βββ ββββββ ββ βββ
βββ βββββββββββββββββββββββ ββββββ βββ βββ βββββββββββββ
βββ βββ ββββββββββββββ ββββββ βββββββββββββββββββββββββββ
βββ βββ ββββββββββββββ ββββββ ββββββββ βββββββ ββββββββ
TaskFlow es una aplicaciΓ³n fullstack de productividad con tablero Kanban,
drag & drop nativo, autenticaciΓ³n segura y sincronizaciΓ³n en tiempo real.
|
|
|
|
| Capa | TecnologΓa | Uso |
|---|---|---|
| βοΈ UI | React 18 + Vite | Componentes, estado, routing |
| π¨ Estilos | CSS puro + variables | Sin frameworks de UI |
| ποΈ Base de datos | Supabase (PostgreSQL) | Almacenamiento de tareas |
| π Auth | Supabase Auth | Registro, login, sesiones |
| β‘ Realtime | Supabase Realtime | SincronizaciΓ³n en vivo |
| π Deploy | Vercel | Hosting del frontend |
| π±οΈ Drag & Drop | HTML5 nativo | Sin librerΓas externas |
| π‘ Fuentes | Syne + DM Sans | Google Fonts |
# 1. Clona el repositorio
git clone https://github.com/tu-usuario/task-manager.git
cd task-manager
# 2. Instala las dependencias
npm install
# 3. Configura las variables de entorno
cp .env.example .env
# β Edita .env con tus credenciales de Supabase (ver secciΓ³n abajo)
# 4. Ejecuta en modo desarrollo
npm run devAbre http://localhost:5173 en tu navegador. π
βΆ Ver instrucciones completas paso a paso
Paso 1 β Crear proyecto
- Ve a supabase.com β "New Project"
- Nombre del proyecto:
task-manager - Elige una contraseΓ±a para la base de datos y guΓ‘rdala
- Selecciona la regiΓ³n mΓ‘s cercana a ti
- Espera ~2 minutos a que se inicialice
Paso 2 β Crear la tabla
- En el dashboard β menΓΊ izquierdo β "SQL Editor"
- Click en "New query"
- Copia y pega el contenido del archivo
supabase.sqldel proyecto - Click en "Run" (o
Ctrl + Enter)
Paso 3 β Obtener credenciales
- En el dashboard β "Project Settings" (Γcono engranaje)
- Click en "API" en el menΓΊ lateral
- Copia:
Project URLβ paraVITE_SUPABASE_URLanonpublicβ paraVITE_SUPABASE_ANON_KEY
Crea un archivo .env en la raΓz del proyecto:
VITE_SUPABASE_URL=https://xxxxxxxxxxxx.supabase.co
VITE_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
β οΈ Importante: El archivo.envya estΓ‘ en.gitignore. Nunca lo subas a tu repositorio pΓΊblico.
βΆ Ver instrucciones de deploy
Paso 1 β Subir a GitHub
git init
git add .
git commit -m "feat: TaskFlow inicial"
git branch -M main
git remote add origin https://github.com/tu-usuario/task-manager.git
git push -u origin mainPaso 2 β Importar en Vercel
- Ve a vercel.com β "Add New Project"
- Selecciona tu repositorio
task-manager - Click en "Import"
Paso 3 β Configurar variables de entorno En la pantalla de configuraciΓ³n, antes de hacer deploy:
VITE_SUPABASE_URLβ tu URL de SupabaseVITE_SUPABASE_ANON_KEYβ tu anon key
Paso 4 β Deploy Click en "Deploy" y espera ~1 minuto.
Tu app estarΓ‘ disponible en https://task-manager-xxx.vercel.app π
π‘ Cada
git pushamainhace un redeploy automΓ‘tico.
task-manager/
βββ π src/
β βββ π components/
β β βββ π Auth/
β β β βββ Login.jsx # Pantalla de inicio de sesiΓ³n
β β β βββ Register.jsx # Pantalla de registro
β β βββ π Board/
β β β βββ Board.jsx # Tablero principal con filtros
β β β βββ Column.jsx # Columna con drag & drop
β β β βββ TaskCard.jsx # Tarjeta individual de tarea
β β βββ π Task/
β β β βββ TaskModal.jsx # Modal de crear/editar
β β β βββ TaskForm.jsx # Formulario con campos
β β βββ π UI/
β β βββ Navbar.jsx # Barra de navegaciΓ³n
β β βββ FilterBar.jsx # Filtros de prioridad
β β βββ PriorityBadge.jsx # Badge de color por prioridad
β βββ π hooks/
β β βββ useAuth.js # AutenticaciΓ³n con Supabase
β β βββ useTasks.js # CRUD + suscripciΓ³n realtime
β βββ π lib/
β β βββ supabase.js # Cliente de Supabase
β βββ App.jsx # Rutas y protecciΓ³n de pΓ‘ginas
β βββ main.jsx # Punto de entrada React
β βββ index.css # Variables CSS y estilos globales
βββ supabase.sql # SQL para crear la base de datos
βββ .env.example # Plantilla de variables de entorno
βββ README.md
| Token | Color | Uso |
|---|---|---|
--bg-base |
#0d0d0d |
Fondo principal |
--bg-card |
#1a1a1a |
Tarjetas y modales |
--accent |
#6366f1 |
Color de acento principal |
--accent-bright |
#818cf8 |
Links y highlights |
| Prioridad Alta | #ef4444 |
Badge rojo |
| Prioridad Media | #f59e0b |
Badge amarillo |
| Prioridad Baja | #22c55e |
Badge verde |
Β‘Las contribuciones son bienvenidas! Si encuentras un bug o tienes una idea:
- Haz un fork del repositorio
- Crea una rama:
git checkout -b feature/nueva-funcionalidad - Haz commit de tus cambios:
git commit -m 'feat: agrega nueva funcionalidad' - Haz push:
git push origin feature/nueva-funcionalidad - Abre un Pull Request
Distribuido bajo la licencia MIT. Consulta el archivo LICENSE para mΓ‘s informaciΓ³n.
Hecho con β y π΅ por Juan Florian

