No description
Find a file
2025-04-01 16:22:34 +02:00
app First Commit 2025-04-01 16:22:34 +02:00
scripts First Commit 2025-04-01 16:22:34 +02:00
.gitignore First Commit 2025-04-01 16:22:34 +02:00
app_direct.py First Commit 2025-04-01 16:22:34 +02:00
README.md First Commit 2025-04-01 16:22:34 +02:00
requirements.txt First Commit 2025-04-01 16:22:34 +02:00
streamlit_run.py First Commit 2025-04-01 16:22:34 +02:00

User and Image Management System

A Streamlit application for user and image management with SQLite and MinIO storage.

Features

User Management

  • Create, view, edit, and delete users
  • Each user has:
    • Name
    • User ID (auto-generated)
    • Email
    • Preferences (font, logo URL, subtitle)

Image Management

  • Upload, view, edit, and delete images
  • Each image has:
    • Image ID
    • Resolution
    • URL (stored in MinIO/S3)
  • Built-in image viewer

Requirements

  • Python 3.7+
  • MinIO server or S3-compatible storage
  • SQLite

Installation

  1. Clone the repository
  2. Install dependencies:
    pip install -r requirements.txt
    
  3. Set up MinIO server or use an existing S3-compatible storage solution
  4. Configure the environment variables (optional):
    MINIO_ENDPOINT=localhost:9000
    MINIO_ACCESS_KEY=minioadmin
    MINIO_SECRET_KEY=minioadmin
    MINIO_BUCKET=images
    MINIO_SECURE=False
    

Running the Application

python main.py

The application will be available at http://localhost:8501

Setting up MinIO

  1. Download and install MinIO from https://min.io/download
  2. Run MinIO server:
    minio server /path/to/data
    
  3. Open the MinIO browser interface (default: http://localhost:9000)
  4. Create a bucket named "images"

Project Structure

├── app/
│   ├── models/           # Database models
│   ├── services/         # Business logic services
│   ├── pages/            # Streamlit page components
│   ├── utils/            # Utility functions
│   ├── static/           # Static assets
│   │   └── images/       # Static images
│   └── app.py            # Main Streamlit application
├── main.py               # Application entry point
├── requirements.txt      # Python dependencies
└── README.md             # Project documentation