Skip to content

darshan2456/url_manager_project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

106 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

URL Manager

A production-deployed Flask web application to save, organize, and manage website URLs with tagging, search functionality, and PostgreSQL integration.

Live application: https://url-manager-project.onrender.com/


Features

Database Architecture

  • PostgreSQL integration with Neon.tech for production
  • SQLite fallback for local development
  • SQLAlchemy ORM for database abstraction
  • Multi-table schema with users, URLs, tags, and relationships
  • Deployed on Render.com with automatic deployments

Core Functionality

  • Add URLs with automatic title scraping using BeautifulSoup
  • Tagging system with predefined categories (Work, Programming, Research, Personal, News)
  • Archive / Unarchive functionality for temporary storage
  • Search across titles and URLs

Tag Management

  • Tag-based filtering and grouping
  • Color-coded tags for visual organization
  • Tag sidebar with dropdown URL lists
  • Remove tags from individual URLs

User Experience

  • Search with auto-trigger after typing
  • One-click URL copying with feedback
  • Confirmation dialogs for destructive actions
  • Separate views for active and archived URLs

Technical Stack

Backend

  • Framework: Flask (Python)
  • Database: PostgreSQL (Production – Neon.tech) / SQLite (Development)
  • ORM: SQLAlchemy
  • HTML Parsing: BeautifulSoup4
  • HTTP Requests: Requests
  • URL Validation: Validators

Frontend

  • Templating: Jinja2 with template inheritance
  • Styling: Custom CSS with tag color system
  • Interactivity: Vanilla JavaScript
  • Layout: Flexbox for responsive container and sidebar

Live Deployment

Production Application

Live URL: https://url-manager-project.onrender.com/

Infrastructure

  • Platform: Render.com
  • Database: Neon.tech PostgreSQL
  • Status: Operational

Installation & Setup

Local Development

  1. Clone the repository
git clone https://github.com/darshan2456/url_manager_project.git
cd url_manager_project
  1. Install dependencies
pip install flask flask-sqlalchemy beautifulsoup4 requests validators
  1. Initialize the database
python app.py

Then visit:

http://localhost:5000/start

This creates tables and default tags.

  1. Run the application
python app.py

Visit:

http://localhost:5000

Project Structure

url_manager_project/
├── app.py                  # Main Flask application
├── instance/
│   ├── url_manager.db           # SQLite database (development)
├── static/
│   ├── style.css           # Application styling
│   └── script.js           # Frontend interactions
├── templates/
│   └── index.html          # Main interface template
└── requirements.txt        # Project dependencies

Usage

Adding URLs

  1. Enter a valid URL (e.g., https://example.com)
  2. Select relevant tags
  3. Click Add URL

The application automatically fetches the page title.

Searching URLs

  • Type in the search field
  • Results update automatically
  • Clear search to return to the full list

Managing URLs

  • Open links directly from the interface
  • Copy URLs with the copy button
  • Archive URLs for temporary removal
  • Restore archived URLs
  • Delete URLs permanently
  • Remove tags from individual entries

Using Tags

  • Filter URLs by tag
  • View tag counts in the sidebar
  • Expand tag groups to view associated URLs

Search Functionality

  • Auto-search after typing
  • Matches both titles and URLs
  • Active and archived results displayed separately
  • Result counts for each category

Future Enhancements

  • Bulk operations for URLs
  • Browser extension to add websites on the go

Support

If you find the project useful, consider starring the repository.

Bug reports and feature requests can be submitted via GitHub issues. You are welcome to open PRs and issues for the same.

Live application: https://url-manager-project.onrender.com/


Built with Flask and SQLAlchemy. Developed and maintained by Darshan.

About

This is a bookmarking web-service where you can store your favorite pages and categorize them using tags. This web application uses in-built flask authentication to keep your data safe.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors