100 lines
3.1 KiB
Markdown
100 lines
3.1 KiB
Markdown
# 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](#planned-features)
|
|
- [Updates](#updates)
|
|
- [Getting Started](#getting-started)
|
|
- [Built With](#built-with)
|
|
|
|
## Planned Features
|
|
- [x] Account Creation
|
|
- [x] First time setup to create the admin user
|
|
- [x] Invite users via email (smtp) users can be COUPLE, PLANNER, GUEST
|
|
- [x] Create local accounts (no use of SMTP)
|
|
- [x] Creating and Editing custom events
|
|
- [ ] Information about each event
|
|
- Date/Time
|
|
- Event type
|
|
- Details
|
|
- Location
|
|
- [x] Guest book (contact information)
|
|
- [x] 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 `Users` table
|
|
- 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)
|
|
|
|
## 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.
|
|
|
|
1. Clone the repo
|
|
```
|
|
git clone https://github.com/briannelson95/wedding-planner.git
|
|
```
|
|
|
|
2. Set your enviorment variables
|
|
```env
|
|
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
|
|
```
|
|
|
|
3. Start the database
|
|
```
|
|
docker compose up -d
|
|
```
|
|
|
|
4. Migrate and Generate the Prima files
|
|
```
|
|
npx prisma migrate dev --name init
|
|
npx prisma generate
|
|
```
|
|
|
|
5. Install dependencies and start the front end with `npm i && npm run dev` or `bun i && bun dev`
|
|
|
|
## Built With
|
|
- NextJS 15
|
|
- NextAuth
|
|
- Prisma
|
|
- TailwindCSS
|
|
- PostgresDB
|
|
- Docker |