Open-Source Cold Email & Warmup Platform
Warmbly is the open-source platform for cold email: warm your mailboxes, send campaigns, and triage every reply. Run it on our cloud or self-host the whole thing.
Centraliza todos tus links de developer en un solo lugar. Integración nativa con GitHub, analíticas por link, QR codes y themes personalizados. Gratis para siempre.
Translation pending
MarketingTypeScript · JavaScriptGitHub @KLI31OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Plataforma fullstack tipo Linktree para desarrolladores. Permite crear un perfil público centralizado con enlaces a redes sociales, proyectos de GitHub y métricas de visitas.
Makefile utiliza sintaxis específica de Bash (cp -n, sleep, read, etc.).devlinks-frontend/)devlinks-backend/)@nestjs/throttler)MakefileEl método recomendado para ejecutar el proyecto es usando Docker Compose a través del Makefile.
git clone <url-del-repositorio>
cd DevLink-project
⚠️ Nota importante: No existen archivos
.env.exampleen el repositorio actualmente. Crea los archivos manualmente basándote en las tablas de abajo.
Backend — Crear devlinks-backend/.env:
NODE_ENV=development
PORT=3001
DATABASE_URL=postgresql://devlinks:devlinks_pass@postgres:5432/devlinks_db
REDIS_URL=redis://redis:6379
JWT_SECRET=tu_jwt_secret_aqui
JWT_EXPIRES_IN=15m
REFRESH_TOKEN_EXPIRY=7d
GITHUB_CLIENT_ID=tu_github_client_id
GITHUB_CLIENT_SECRET=tu_github_client_secret
GITHUB_CALLBACK_URL=http://localhost:3001/auth/github/callback
ENCRYPTION_KEY=tu_encryption_key_aqui
FRONTEND_URL=http://localhost
Frontend — Crear devlinks-frontend/.env.local:
NEXT_PUBLIC_API_URL=http://localhost/api
NEXT_PUBLIC_APP_URL=http://localhost
make setup # Primera vez: crea contenedores, aplica migraciones iniciales
make up # Levantar todos los servicios
| Servicio | URL |
|---|---|
| Aplicación Web | http://localhost |
| API | http://localhost/api |
| Prisma Studio | make studio → http://localhost:5555 |
| Comando | Descripción |
|---|---|
make setup | Configuración inicial (env, contenedores, migraciones) |
make up | Iniciar todos los servicios en segundo plano |
make down | Detener todos los servicios |
make logs | Ver logs de todos los servicios en tiempo real |
make logs-backend | Ver logs solo del backend |
make logs-frontend | Ver logs solo del frontend |
make restart | Reiniciar todos los servicios |
make build | Reconstruir imágenes de Docker |
make studio | Abrir Prisma Studio para gestionar la base de datos |
make migrate name=<descripcion> | Crear y aplicar una nueva migración |
make migrate-status | Ver estado de las migraciones |
make migrate-reset | ⚠️ Resetear la base de datos |
make test | Ejecutar tests unitarios del backend |
make test-watch | Ejecutar tests en modo watch |
make test-cov | Ejecutar tests con reporte de cobertura |
make test-e2e | Ejecutar tests E2E con Playwright |
make lint | Ejecutar linters en backend y frontend |
Si prefieres no usar Docker, asegúrate de tener PostgreSQL (puerto 5433) y Redis (puerto 6379) corriendo localmente.
cd devlinks-backend
npm install
npx prisma migrate dev
npm run start:dev # Disponible en http://localhost:3001
cd devlinks-frontend
npm install
npm run dev # Disponible en http://localhost:3000
DevLink-project/
├── devlinks-backend/ # API NestJS
│ ├── src/
│ │ ├── modules/ # Módulos de dominio (auth, user, link, analytics, github)
│ │ ├── common/ # Utilidades compartidas
│ │ ├── config/ # Configuración
│ │ ├── prisma/ # Servicio Prisma
│ │ └── redis/ # Servicio Redis
│ └── prisma/ # Esquema y migraciones de Prisma
├── devlinks-frontend/ # Aplicación Next.js
│ ├── app/ # Rutas y layouts (App Router)
│ ├── components/ # Componentes React
│ ├── lib/ # API clients, validaciones (Zod), Server Actions
│ ├── hooks/ # Custom React hooks
│ ├── store/ # Zustand stores
│ └── public/ # Assets estáticos
├── docker-compose.yml # Orquestación de desarrollo
├── docker-compose.prod.yml # Orquestación de producción
└── Makefile # Comandos de automatización
GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET y GITHUB_CALLBACK_URL.Makefile utiliza comandos de Bash. En Windows nativo es muy probable que falle; se recomienda usar Git Bash, WSL o una terminal Unix-like.Makefile apuntan a backend/ y frontend/ en lugar de devlinks-backend/ y devlinks-frontend/. Puede ser necesario ajustar las rutas si ciertos comandos fallan..env.example. Se recomienda crearlos a partir de la documentación de arriba.devlinks-backend/.env contiene credenciales sensibles (OAuth, JWT, etc.) y está presente en el repositorio. Se recomienda rotar estas credenciales y agregar .env a .gitignore lo antes posible.Dockerfile.prod del frontend espera el output en modo standalone de Next.js. Asegúrate de que next.config.ts contenga output: 'standalone' para que la imagen de producción funcione correctamente.# Backend (unitarios)
make test
make test-watch
make test-cov
# E2E (Playwright)
make test-e2e
feat:, fix:, docs:, refactor:, chore:feat/<area>-<descripcion>, fix/<area>-<descripcion>.