11a0bb00e3f945881dbc0703c9e8b5834ea9379f
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
Getting Started
This is very much a work in progress but this README will stay up to date on working features and steps to get it running in its current state. That being said if you're interested in starting it as is, you can follow these instructions.
- 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
- Migrate and Generate the Prima files
npx prisma migrate dev --name init
npx prisma generate
- Install dependencies and start the front end with
npm i && npm run devorbun i && bun dev
Built With
- NextJS 15
- NextAuth
- Prisma
- TailwindCSS
- PostgresDB
- Docker
Description
Languages
TypeScript
97%
CSS
2.6%
Dockerfile
0.2%
JavaScript
0.2%