82 lines
1.8 KiB
Markdown
82 lines
1.8 KiB
Markdown
# Digital Garage Sale Website
|
|
|
|
A minimalistic, printable-style website for hosting a digital garage sale. Built with Flask and Python.
|
|
|
|
## Features
|
|
|
|
- List items for sale with descriptions and photos
|
|
- Categorize items
|
|
- Track item status (For Sale, On Hold, Sold)
|
|
- Display contact info (email and Signal)
|
|
- Provide donation link
|
|
- Password-protected admin portal
|
|
- Print catalog feature for physical distribution
|
|
|
|
## Installation
|
|
|
|
1. Clone this repository
|
|
2. Create a virtual environment and activate it:
|
|
```
|
|
python -m venv venv
|
|
source venv/bin/activate # On Windows: venv\Scripts\activate
|
|
```
|
|
3. Install dependencies:
|
|
```
|
|
pip install -r requirements.txt
|
|
```
|
|
4. Install wkhtmltopdf for PDF generation:
|
|
```
|
|
# Ubuntu/Debian
|
|
sudo apt-get install wkhtmltopdf
|
|
|
|
# Fedora/CentOS/RHEL
|
|
sudo dnf install wkhtmltopdf
|
|
|
|
# macOS with Homebrew
|
|
brew install wkhtmltopdf
|
|
|
|
# Windows
|
|
# Download the installer from https://wkhtmltopdf.org/downloads.html
|
|
```
|
|
|
|
## Configuration
|
|
|
|
You can modify the `config.py` file to change:
|
|
- The admin password (default: admin123)
|
|
- Secret key
|
|
- Database path
|
|
- Max upload size
|
|
|
|
For production, set these environment variables:
|
|
- `SECRET_KEY`: A secure random string
|
|
- `ADMIN_PASSWORD`: A strong password for admin access
|
|
- `DATABASE_URL`: Optional database URL (defaults to SQLite)
|
|
|
|
## Usage
|
|
|
|
1. Initialize the database:
|
|
```
|
|
python init_db.py
|
|
```
|
|
|
|
2. Run the application:
|
|
```
|
|
python app.py
|
|
```
|
|
|
|
3. Visit http://127.0.0.1:5000 in your browser
|
|
4. Access the admin portal at http://127.0.0.1:5000/admin (password: admin123 by default)
|
|
|
|
## Admin Features
|
|
|
|
- Add/remove categories
|
|
- Add/remove items
|
|
- Edit item descriptions and photos
|
|
- Update item status
|
|
- Generate printable PDF catalog
|
|
- Update contact information
|
|
|
|
## License
|
|
|
|
This project is open source and available under the MIT License.
|