Skip to content

angelchoque/bookmark-manager

Repository files navigation

Bsave - Bookmark Manager

Aplicacion web para guardar, organizar y gestionar marcadores con categorias, etiquetas y favoritos. Incluye extension de Chrome para guardar paginas con un solo clic.

Demo en vivo: bm.angeldecode.com

Demo

Dashboard

Tech Stack

Capa Tecnologia
Frontend Next.js 16, React 19, TailwindCSS 4, shadcn/ui
Backend NestJS 11, Drizzle ORM, Passport JWT
Base de datos PostgreSQL, Redis
Extension Chrome Extension (Manifest V3)
Monorepo pnpm workspaces + Turborepo

Estructura del proyecto

apps/
  web/         → Frontend (Next.js - App Router)
  api/         → Backend REST API (NestJS)
  extension/   → Extension de Chrome
packages/
  eslint-config/       → Configuracion compartida de ESLint
  typescript-config/   → Configuracion compartida de TypeScript

Despliegue con CubePath

El proyecto esta desplegado en un VPS de CubePath, utilizando Dokploy como plataforma de gestion de despliegues con Docker.

Servicio Tipo Tecnologia
Frontend Application Next.js
Backend Application NestJS
Base de datos Database PostgreSQL
Cache Database Redis

Configuracion de red:

  • Subdominios creados para frontend y backend, apuntando a la IP del VPS mediante registros DNS
  • Certificados SSL generados automaticamente por Dokploy con Let's Encrypt

API

Autenticacion mediante JWT (access token + refresh token con rotacion). Soporta login con email/password y Google OAuth 2.0.

Principales endpoints:

Recurso Endpoints
Auth POST /auth/login, POST /auth/register, POST /auth/refresh, GET /auth/google
Bookmarks GET /bookmarks, POST /bookmarks, PATCH /bookmarks/:id, DELETE /bookmarks/:id

Los bookmarks soportan filtrado por busqueda, categoria, etiquetas y favoritos con paginacion.

Categorias disponibles: design, development, ai_ml, productivity, reading, tools, other

Variables de entorno

API (apps/api/.env):

DATABASE_URL=postgres://user:pass@localhost:5434/bmdb
REDIS_URL=redis://localhost:6379
JWT_SECRET=...
JWT_REFRESH_SECRET=...
GOOGLE_CLIENT_ID=...
GOOGLE_CLIENT_SECRET=...

Web (apps/web/.env):

NEXT_PUBLIC_API_URL=http://localhost:3000

Desarrollo local

# Iniciar PostgreSQL y Redis
docker compose up -d

# Instalar dependencias
pnpm install

# Ejecutar todos los servicios
pnpm dev

About

A minimal bookmark manager with a browser extension

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages