An open API service indexing awesome lists of open source software.

https://github.com/crackspy/clip

Clip - Bookmark Manager built with Django that lets users securely save, organize, and manage bookmarks.
https://github.com/crackspy/clip

bookmark-manager clip django-project python-3 webapp

Last synced: 3 months ago
JSON representation

Clip - Bookmark Manager built with Django that lets users securely save, organize, and manage bookmarks.

Awesome Lists containing this project

README

          

# Clip – Bookmark Manager

**Clip** is a full-stack bookmark manager web application built with **Django** (Python). It lets users securely store and organize favorite website links, mobile apps, desktop apps, etc., in the form of bookmarksβ€”complete with names, descriptions, URLs, tags, and import/export functionalityβ€”while also providing an intuitive admin dashboard.

## 🌟 Key Features

### πŸ–₯️ User Side
- πŸ“‘ Browse Saved Bookmarks.
- ✏️ Create / Edit / Delete Bookmarks.
- πŸ” Search & Filter
- πŸ‘€ **Profile Page**
- Import / Export Bookmarks via JSON File

### βš™οΈ Admin Side

- πŸ‘₯ Manage All Users
- πŸ“‚ Manage All Bookmarks

## πŸ› οΈ Project Stack

- 🐍 **Python**
- 🌿 **Django**
- 🐘 **PostgreSQL**
- 🌐 **HTML**
- 🌬️ **Tailwind CSS**
- ✨ **JavaScript**

## πŸ› οΈ Installation

Follow these steps to set up the project locally:

1. **Clone the Repository:**
```bash
git clone https://github.com/crackspy/Clip.git
cd clip
```

2. **Create a Virtual Environment:**
```bash
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
```

3. **Install Dependencies:**
```bash
pip install -r requirements.txt
```
> πŸ”„ **Use SQLite (development only)**
> In `clip/settings.py`, comment out the PostgreSQL `DATABASES` block and uncomment (or add) the SQLite configuration:
> ```python
> DATABASES = {
> 'default': {
> 'ENGINE': 'django.db.backends.sqlite3',
> 'NAME': BASE_DIR / 'db.sqlite3',
> }
> }
> ```

4. **Set Up Environment Variables:**
Create a `.env-dev` file in the project root:
```
DEBUG=""
ALLOWED_HOSTS=""
EMAIL_HOST_USER=""
EMAIL_HOST_PASSWORD=""

# for postgresql DB
DB_NAME=""
DB_USER=""
DB_PASSWORD=""
DB_HOST=""
DB_PORT=5432
```

5. **Apply Migrations:**
```bash
python manage.py makemigrations
python manage.py migrate
```

6. **Create Superuser (Admin Account):**
```bash
python manage.py createsuperuser
```

7. **Run the Development Server:**
```bash
python manage.py runserver
```

Visit: [http://127.0.0.1:8000](http://127.0.0.1:8000)

## πŸ“¦ Project Structure
```
β”œβ”€β”€ accounts/ # User authentication & profile management
β”œβ”€β”€ bookmark/ # Core bookmark app (models, views)
β”œβ”€β”€ clip/ # Django project settings & URL configuration
β”œβ”€β”€ db.sqlite3 # SQLite database file (development)
β”œβ”€β”€ manage.py # Django management script
└── requirements.txt # Python dependencies
```

## πŸ“œ License
This project is licensed under the **MIT License**. Feel free to use and modify it.

## πŸ“ž Contact
For any queries or suggestions, contact:
- 🌐 Project GitHub: [https://github.com/crackspy/Clip](https://github.com/crackspy/Clip)

---