A Flask-based web application that helps families manage their gift lists and coordinate gift-giving. Ideal for making Xmas Lists. Family members can create wishlists, view other family members' lists and mark gifts as purchased to avoid purchasing duplicate gifts.
- User Authentication: Secure login system for family members
- Family Groups: Users can create or join family groups
- Gift Management:
- Add, edit, and delete gifts from personal wishlists
- Include details like price, description, and links
- Mark gifts as purchased to avoid duplicates
- Demo Modes:
- Pre-populated family demonstration with sample gift data
- Empty family group for testing new user experiences
- Backend: Python/Flask
- Database: SQLite with SQLAlchemy ORM
- Authentication: Flask-Login
- Frontend: HTML/CSS with Flask templating
- Python 3.12 or later
1. Clone the repository: # to download project files
git clone [your-repository-url]
cd gift-registry-app- Create and activate a virtual environment: A virtual environment (venv) is a self-contained directory that keeps the app's dependencies separate from your system-wide Python packages. This prevents version conflicts and makes managing dependencies easier.
- On Linux/macOS (bash):
python3 -m venv venv
source venv/bin/activate- On Windows (Command Prompt or PowerShell):
python -m venv venv
venv\Scripts\activate- Install dependencies:
pip install -r requirements.txt # to install necessary packages- Initialize the database:
flask seed-db # sets-up database structure and seeds with the demo data- Run the application:
python demo_gift_list_app.py- Visit
http://localhost:5000in your browser
The application comes with two demo families:
-
Pre-populated Family (Test Family):
- Usernames: "Mum", "Dad", "Eldest Child", "Middle Child", "Youngest Child", "Uncle", "Grandma", "Cousin"
- All Passwords: "demo123"
-
Empty Demo Family (Placeholder Family):
- Username: "demo_user1"
- All Passwords: "demo123"
Use these accounts to explore the app and its features.
gift-registry-app/
├── demo_gift_list_app.py # Main application file
├── instance/ # Database directory (auto-generated)
├── seeds/ # Seed data for demo
│ └── demo_data.json # Pre-populated/Test family data
├── static/ # Static files (CSS, JS)
├── templates/ # HTML templates
└── requirements.txt # Project dependencies
└── README.md # Project documentation
To set up the development environment:
- Fork the repository # to create your own personal copy
- Create a new branch for your feature
- Make changes and test thoroughly
- Submit a pull request
Other possible features:
- Email notifications for new gifts
- Gift reservation system
- Multiple family group support
- Mobile app version
This project is licensed under the MIT License - see the LICENSE file for details.




