A Django application for managing document uploads with metadata and search functionality.
- Drag and drop file upload
- Document metadata (UID, SSN, First Name, Last Name, Document Type)
- File storage on local filesystem
- PostgreSQL database integration (Docker-based)
- Search functionality across all fields
- Modern Bootstrap UI
- Python 3.8+
- Docker 2.x
- Virtual environment (recommended)
- Create a virtual environment and activate it:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies:
pip install -r requirements.txt- Start PostgreSQL using Docker:
docker compose up -d- Run migrations:
python manage.py makemigrations
python manage.py migrate- Start the development server:
python manage.py runserver- Visit http://localhost:8000 in your browser
- Upload Documents:
- Click "Upload" in the navigation
- Fill out the document metadata
- Drag and drop a file or click to select one
- Click "Upload" to save
- Search Documents:
- Click "Search" in the navigation
- Enter search terms to filter by any field
- Click on file links to view/download documents
To manage the PostgreSQL container:
- Start the database:
docker compose up -d - Stop the database:
docker compose down - View logs:
docker compose logs db - Remove volumes (will delete all data):
docker compose down -v
The PostgreSQL database will be accessible:
- Host: localhost
- Port: 5432
- Database: image_db
- Username: postgres
- Password: postgres