Skip to content

SAHIL15KP/content-storage

Repository files navigation

Drawer

Drawer is a modern, full-stack SaaS platform designed specifically for content creators. Built for speed, security, and aesthetics, it provides a seamless experience for creators to securely upload, manage, and store their high-quality photos and videos directly from their personalized dashboard.

This repository serves as a fully functional proof-of-concept for a Content Management SaaS platform.

πŸš€ Key Features

  • Dynamic Content Gallery: A premium, responsive grid dashboard capable of hosting native HTML5 video previews and high-res image galleries.
  • Smart Upload Parsing: Automatically tags and categorizes uploaded media files based on content type.
  • Modern Glassmorphic UI: Beautifully styled utilizing Tailwind CSS with deep, immersive background gradients, drop-blurs, and interactive micro-animations.
  • Robust Authentication: Powered by Django Allauth for secure email/password and social login flows.
  • Tiered Subscriptions: Pre-configured dynamic pricing models ready to be hooked into Stripe (Pro, Starter, Annual plans).
  • Cloud-Ready Infrastructure: Designed to seamlessly transition from local SQLite/storage to Neon Postgres DB and AWS S3 storage for production deployment via Docker/Railway.

πŸ“Έ Screenshots

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4 Screenshot 5

πŸ›  Tech Stack

  • Backend: Django 5 & Python 3.13
  • Frontend: HTML5, Tailwind CSS
  • Authentication: Django Allauth
  • Payments: Stripe integration architecture for subscription flows
  • Database: SQLite for local development (production-ready for Neon Postgres)
  • Deployment: Configured for Docker and Railway

πŸ’» Local Development Setup

1. Prerequisites

  • Git
  • Python 3.11+
  • pip
  • Node.js & npm (optional, for frontend UI building)

2. Clone the repository

git clone https://github.com/SAHIL15KP/content-storage.git
cd content-storage

3. Virtual Environment setup

macOS/Linux:

python3 -m venv venv
source venv/bin/activate

Windows PowerShell:

py -m venv venv
.\venv\Scripts\Activate.ps1

4. Install Dependencies

python -m pip install --upgrade pip
python -m pip install -r requirements.txt
python -m pip install -r requirements.dev.txt

(The requirements.dev.txt installs rav, a lightweight task runner used in this project.)

5. Install Frontend Dependencies (Optional)

Required only if you plan to rebuild or watch Tailwind assets.

npm install

6. Environment Variables configuration

macOS/Linux:

cp .env.sample .env

Windows PowerShell:

Copy-Item .env.sample .env

Generate a Django Secret Key: Run this command and paste the output as DJANGO_SECRET_KEY in your .env file:

python -c "from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())"

Make sure at minimum you have set:

  • DJANGO_DEBUG=1
  • DJANGO_SECRET_KEY="<your-generated-key>"

(Leave DATABASE_URL empty to use local SQLite. Only add Stripe/Email variables for testing those flows).

7. Fetch Static Assets

Vendor assets need to be pulled down once for the UI:

cd src
python manage.py vendor_pull

8. Database Migrations

python manage.py migrate

9. Create an Admin User

python manage.py createsuperuser

10. Start the Development Server

python manage.py runserver

Open the app at http://127.0.0.1:8000/.


🎨 Optional Frontend Commands

Run these from the project root (not the src directory):

Watch for Tailwind CSS changes:

npm run watch

Build the production CSS bundle:

npm run build

βš™οΈ Optional rav Task Runner

If you enjoy using a task runner, use these handy shortcuts:

  • rav run install
  • rav run install_dev
  • rav run migrate
  • rav run dev
  • rav run test
  • rav run vendors_pull
  • rav run collectstatic

(Note for Windows users: By default, rav.yaml relies on venv/bin/... paths. Using the direct Python manage.py commands is recommended unless paths are updated.)

🐳 Docker Deployment

A Dockerfile is included and ready for deployment. Simply provide a valid .env file containing everything needed before building and spinning up the container.

About

**Content Storage** is a modern, full-stack SaaS platform designed specifically for content creators. Built for speed, security, and aesthetics, it provides a seamless experience for creators to securely upload, manage, and store their high-quality photos and videos directly from their personalized dashboard.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors