6efc29c6691700ec25f5889a25ee57dcee9e8799
Wedding and Event Planner
My goal for this project is to be an all-in-one self hosted event planner for major events such as weddings, bridal showers and engagement parties. Users will be able to spin this up as a single Docker container which will create the database and frontend.
Table of Contents
Planned Features
- Account Creation
- First time setup to create the admin user
- Invite users via email (smtp) users can be COUPLE, PLANNER, GUEST
- Create local accounts (no use of SMTP)
- Creating and Editing custom events
- Information about each event
- Date/Time
- Event type
- Details
- Location
- Markdown supported notes
- Information about each event
- Guest book (contact information)
- Ability to switch between table or card view
- Add Guests to events
- Invite guests via email
- Create local account for guest
- Managing RSVP lists
- Guest accounts
- Gift Registries
- Ability for guests to mark an item as purchased
- Task Management
- Custom Theming
Possible Features
- Budget Tracking
- Vendor Tracking
- Seating Charts
- Calendar/Timeline Builder
Updates
6.24.25
- added ability to invite users via email making use of a smtp server and nodemailer
- inviteTokens added to db which are used to sign up and expire onDate and after use
- added ability to create local users if you don't want to use smtp
/admin/create-user - created user pages
- added usernames to
Userstable - updated first time setup to include username creation
6.25.25
- now able to see and edit event data from the individual event page
6.26.25
The Guest Book
- added guest-book page, viewable by PLANNER and COUPLE accounts
- db query is secure behind PLANNER and COUPLE auth sessions
- added ability to add and edit guests to guest book
- save guest infomation (name, email, phone, address, side (which side of the couple), notes)
6.28.25
RSVP List
- add guests from GuestBook to any event
- search GuestBook to add guests
- change status of RSVP
6.29.25 – Notes and Tasks
- Markdown note field per event
- Inline editing with live preview
- Task list per event with due dates & completion toggle
Getting Started
This app is fully deployable with Docker or runnable in development with Node.
Development Mode
- Clone the repo
git clone https://github.com/briannelson95/wedding-planner.git
- Set your enviorment variables
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/wedding_planner
NEXTAUTH_SECRET=your-secret
NEXTAUTH_URL=http://localhost:3000
NEXT_PUBLIC_BASE_URL=http://localhost:3000
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_USER=your@email.com
SMTP_PASS=yourpassword
SMTP_FROM_NAME=Wedding Planner
SMTP_FROM_EMAIL=your@email.com
- Start the database
docker compose up -d db
- Migrate and Generate the Prima files
npx prisma migrate dev --name init
npx prisma generate
- Install dependencies and start app
npm install
npm run dev
Self-Hosted (Production) via Docker
-
Copy
.env.productionMake a copy of your .env as .env.production and customize values. -
Update
docker-compose.ymlAlready included in the repo – here's what it does:
- Runs a postgres:15 container
- Builds the app from the Dockerfile
- Runs migrations before starting the frontend
- Run the app
docker compose up --build
This will expose your instance at http://localhost:3000
Built With
- NextJS 15
- NextAuth
- Prisma
- TailwindCSS
- PostgresDB
- Docker
Ready to start planning your wedding or big event? Try it now or contribute ideas via GitHub Issues.
Description
Languages
TypeScript
97%
CSS
2.6%
Dockerfile
0.2%
JavaScript
0.2%