Skip to content

Modern Django web app for seamless Flickr content sharing

License

Notifications You must be signed in to change notification settings

auriorajaa/flick_share

Repository files navigation

Flick Share

Modern Django web app for seamless Flickr content sharing

OverView

Features

Post Management

  • Share Flickr posts instantly via web scraping
  • Add custom captions to posts
  • Edit and delete your own posts
  • View posts in a modern, responsive interface

Social Interaction

  • Comment on posts
  • Private messaging with encryption
  • User following system

User Management

  • Email-based authentication
  • Customizable user profiles
  • Account settings management
  • Secure account deletion option

Technical Features

  • Responsive design across all devices
  • Web scraping for Flickr content
  • Encrypted messaging system
  • HTMX for dynamic interactions
  • Modern UI with Tailwind CSS and Alpine.js

Tech Stack

  • Backend: Django 5.1.4
  • Frontend: HTMX, Tailwind CSS, Alpine.js
  • Database: PostgreSQL
  • Additional: Cryptography for message encryption

Installation

  1. Clone the repository
git clone https://github.com/auriorajaa/flick_share.git
cd flick_share
  1. Create and activate virtual environment
python -m venv venv
# On Windows
venv\Scripts\activate
# On macOS/Linux
source venv/bin/activate
  1. Install dependencies
pip install -r requirements.txt
  1. Create .env file in the a_core directory with the following content:
ENVIRONMENT=development
SECRET_KEY=your-secret-key
ENCRYPT_KEY=your-encrypt-key
DATABASE_URL=postgres://postgres:your-password@localhost:5432/flick_share_db
  1. Set up PostgreSQL database
# Access PostgreSQL
psql -U postgres

# Create database
CREATE DATABASE flick_share_db;

# Exit PostgreSQL
\q
  1. Run migrations
python manage.py migrate
  1. Create admin user
python manage.py createsuperuser
  1. Start development server
python manage.py runserver

Visit http://localhost:8000 to access the application.

Project Structure

flick_share/
├── a_core/         # Main project settings
│   └── .env        # Environment variables
├── ...             # Other folder
├── venv/           # Virtual environment (not in repo)
└── manage.py

Environment Setup

Required environment variables in a_core/.env:

  • ENVIRONMENT: Set to 'development' for local development
  • SECRET_KEY: Django secret key
  • ENCRYPT_KEY: Message encryption key
  • DATABASE_URL: PostgreSQL connection URL

Note

  • Virtual environment (venv/) and environment files (.env) are not included in the repository
  • Make sure PostgreSQL is running before starting the application
  • Keep your encryption and secret keys secure

License

This project is licensed under the MIT License.