Easyboxify is A minimalist and fast bookmark manager designed to boost productivity by helping users organize, search, and manage their bookmarks with ease. It offers a clean, intuitive interface and robust features tailored to meet the needs of casual users and power users alike.
- Project Overview
- Features
- Tech Stack
- Setup Instructions
- Usage
- Future Plans
- Contribution Guidelines
- License
Bookmark Manager simplifies bookmark management with features like secure login, seamless import/export, and intuitive organization tools. With both free and pro tiers, it caters to a wide range of users by balancing essential functionality with advanced productivity tools.
- Individuals seeking a simple, organized way to manage bookmarks efficiently.
- Productivity enthusiasts who value fast search and clutter-free design.
- Up to 100 bookmarks.
- Create 3 folders and 3 tags max.
- Unlimited bookmarks, folders, and tags.
- Advanced features and priority support and upcoming features.
- Bookmark Import/Export: Supports Chrome HTML format for easy data portability.
- Add/edit bookmark: users can add bookmark with title, url, notes and tags.
- Search Functionality: Quickly locate bookmarks with efficient search algorithms.
- Minimalist UI: Designed for ease of use and productivity.
- Frontend: Next.js
- Backend: Express.js (TypeScript)
- Database: PostgreSQL (using Drizzle ORM)
- Styling: Tailwind CSS with shadcn/ui components.
- Authentication: JSON Web Tokens (JWT), OAuth2, and Nodemailer.
- Payments: Stripe for managing Pro subscriptions (monthly/yearly).
- Deployment:
- Frontend: Vercel
- Backend: Render
- Database: Neon
- Node.js (v16 or above)
- Docker (optional, for containerized setup)
- PostgreSQL (if running without Docker)
- A Stripe account for subscription management.
Create a .env
file in the backend directory and include the following variables:
NODE_ENV=development
DATABASE_URL=your_neon_database_url
PORT=5000
BASE_URL=http://localhost:3000
BASE_URL_PROD=production_base_url
JWT_SECRET_KEY=your_jwt_secret
TOKEN_EXPIRATION=15m
REFRESH_TOKEN_EXPIRATION=7d
CLIENT_ID=your_oauth_client_id
CLIENT_SECRET=your_oauth_client_secret
REFRESH_TOKEN=refrsh_token_generated_from_oauth-playground
EMAIL_USER=your_email_address
STRIPE_SECRET_KEY=your-stripe-secret-key
STRIPE_WEBHOOK_SECRET=your-stripe-webhook-secret
STRIPE_MONTHLY_PRICE_ID=the_product_monthly_price-id
STRIPE_YEARLY_PRICE_ID=the_product_yearly_price-id
Create a .env.local
file in the frontend directory and include the following variables:
NODE_ENV=development
NEXT_PUBLIC_BASE_URL=http://localhost:5000
NEXT_PUBLIC_BASE_URL_PROD=production_base_url
- Install the necessary dependencies for database migration.
npm install --legacy-peer-deps
- Apply migrations using Drizzle ORM.
npm run db:migrate or npx drizzle-orm generate/migrate/push
- Build and run the Docker containers.
docker-compose up --build
- Access the app at
http://localhost:3000
.
- Install dependencies.
npm install --legacy-peer-deps
- Start the backend server.
cd ./backend npm run dev
- Start the frontend server.
cd ./frontend npm run dev
- Access the app at
http://localhost:3000
.
- Register/Login: Create an account or log in using your email.
- Manage Bookmarks: Add, edit, organize into folders, and tag bookmarks.
- Search: Use the search bar to quickly find(filter) bookmarks by keyword.
- Upgrade to Pro: Unlock advanced features via Stripe-powered subscriptions.
- Import/Export: Import bookmarks from Chrome or export for backup.
- Browser extensions for Chrome and others.
- Mobile-friendly interface for seamless access on the go.
- Collaborative features like shared folders and tags.
- better folder and tag organization
- improved ui/ux with high customization
- ai based bookmark/tag suggestion
Check out the live demo of the App here.
We welcome contributions to improve Bookmark Manager! Follow these steps:
- Fork the repository.
- Create a new branch for your feature or fix.
git checkout -b feature/your-feature-name
- Commit your changes with descriptive messages.
git commit -m "Add feature: your feature name"
- Push to your branch.
git push origin feature/your-feature-name
- Create a pull request and describe your changes.
- i will merge any fixes weather tiny or big.
If you have any questions, feel free to reach out:
- Kaleb: kalisha123k.com
- GitHub Issues
This project is licensed under the MIT License. See the LICENSE file for details.
Start managing your bookmarks with ease! 🚀