Shareable wishlists. A web application intended for selfhosting.
- .NET 9
- Blazor App (Server & Client WebAssembly)
- Entity Framework Core managed data on PostgreSQL
- Docker images published
See DEVELOPING.md for additional details.
TODO
- Users can have their own wishlist and a hidden wishlist
- Users can add items to wishlist (for themselves or others)
- Simple (Name, description, price)
- Via online store URL (todo: how?)
- Remove items from wishlist (list owner)
- Mark items as bought (authenticated user)
- Add comments to items (authenticated user)
- Add users and share wishlists (admin user)
- Allow anonymous access (optional feature)
OpenWish is designed to facilitate gift-giving events and wishlists with social features, making it suitable for managing occasions like Secret Santa, birthdays, or holiday gift exchanges.
- User Management:
- Supports identity/authentication
- Event System:
- Create and manage events with configurable budgets
- Support for copying/cloning existing events
- Track event participants
- Wishlist Management:
- Users can create multiple wishlists
- Support for both private and public wishlists
- Add/remove items to wishlists
- Comment on wishlists
- React to wishlists
- Comment on items
- React to items
- Gift Exchange Coordination:
- Track who is giving gifts to whom
- Manage purchase intentions
- Set up custom pairing rules for gift exchanges
- Support for notifications
Since OpenWish depends on an external datasource (PostgreSQL), if you don't already have a PostgreSQL instance to use, you can run an instance alongside the OpenWish application using Docker Compose:
services:
sql:
image: postgres:17
container_name: openwish-postgres
environment:
POSTGRES_USER: "openwish"
POSTGRES_PASSWORD: "YourStrong!Passw0rd"
POSTGRES_DB: "OpenWish"
volumes:
- openwish-data:/var/lib/postgresql@17/data
ports:
- 5432:5432
web:
image: ghcr.io/mitch-b/openwish-web:latest
container_name: openwish-web
environment:
- TZ=America/Chicago
- ConnectionStrings__OpenWish=Server=sql;Port=5432;Database=OpenWish;User Id=openwish;Password=YourStrong!Passw0rd;
- OpenWishSettings__OwnDatabaseUpgrades=true
ports:
- 5001:8080
depends_on:
- sql
volumes:
openwish-data:
See package versions for published tags. Recommended to use {year}{month}
tags (ie. 202501
) for managing upgrades.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.