A Django-based image sharing site that allows for uploading, downloading, and displaying JPEG images. Images are stored as Large Objects in PostgreSQL database. The site includes user registration and authentication to restrict access to registered users only.
- User registration and authentication
- Upload JPEG images with title and description
- View images in a gallery
- View image details
- Download images
- Delete your own images
- User profiles
- Django 5.1.7
- PostgreSQL (for production, using Large Objects for image storage)
- SQLite (for development)
- Bootstrap 5 (for UI)
- Python 3.8+
- PostgreSQL (for production)
-
Clone the repository:
git clone https://github.com/a-masterov/image-keeper.git cd image-keeper
-
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
-
Create a
.env
file based on.env.example
and configure your environment variables. -
Run migrations:
python manage.py migrate
-
Create a superuser:
python manage.py createsuperuser
-
Run the development server:
python manage.py runserver
-
Access the site at http://127.0.0.1:8000/
For production deployment, make sure to:
- Set
DJANGO_DEBUG=False
in your environment variables - Configure
DJANGO_ALLOWED_HOSTS
with your domain - Use PostgreSQL as your database
- Set a strong
DJANGO_SECRET_KEY
- Configure proper static files serving