A full-stack wedding planning platform connecting couples, vendors, and event coordinators in one seamless experience.
Kamikaze Butterfly Weddings is a two-part system designed to take the chaos out of wedding planning. Couples get a personalized planning experience, vendors get a professional profile and booking management tool, and the event coordinator gets full visibility over everything.
- Create and manage a personalized wedding plan
- Interactive checklist (venue, catering, photography, decor & more)
- Smart vendor suggestions based on theme, location & budget
- Live budget tracker as vendors are booked
- Invoice generation on service requests
- Option to make completed plans public for others to reference
- Create and manage a detailed service profile
- Availability calendar that auto-updates on confirmed bookings
- Accept or reject service requests from clients
- Track earnings and client metrics from a personal dashboard
- Full overview dashboard — clients, vendors, plans, revenue
- Vendor verification and approval workflow
- Remove or manage vendors on the platform
- Provide their own services as a verified vendor
| Layer | Technology |
|---|---|
| Frontend | React + TypeScript + Vite |
| Styling | Tailwind CSS + shadcn/ui |
| Backend | Node.js + Express + TypeScript |
| Database | PostgreSQL |
| Auth | JWT + bcrypt |
| Hosting (FE) | Vercel |
| Hosting (BE) | Railway |
kamikaze-butterfly/
├── client/ # React frontend
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Route-level pages
│ │ ├── hooks/ # Custom React hooks
│ │ ├── api/ # API call functions
│ │ ├── types/ # Shared TypeScript types
│ │ └── lib/ # Utilities & helpers
│ └── public/
│
└── server/ # Node.js + Express backend
├── src/
│ ├── routes/ # API route definitions
│ ├── controllers/ # Route handler logic
│ ├── middleware/ # Auth & error middleware
│ ├── db/ # Database connection & queries
│ └── types/ # Shared TypeScript types
└── .env.example
├── docs/
└── database-schema.pdf
- Node.js v18+
- PostgreSQL
- npm or yarn
git clone https://github.com/NzamaE/kamikaze-butterfly.git
cd kamikaze-butterflycd server
npm install
cp .env.example .env
# Fill in your .env values
npm run devcd client
npm install
cp .env.example .env
# Fill in your .env values
npm run devcd server
npm run db:migrate
npm run db:seed # optional — loads sample dataPORT=5000
DATABASE_URL=postgresql://user:password@localhost:5432/kamikaze_butterfly
JWT_SECRET=your_jwt_secret_here
JWT_EXPIRES_IN=7d
CLIENT_URL=http://localhost:5173VITE_API_URL=http://localhost:5000/api- Project setup & repo structure
- Database schema design
- Auth (register, login, roles)
- Client — wedding plan creation
- Client — vendor browsing & booking
- Vendor — profile & calendar management
- Admin — dashboard & vendor verification
- Payment & invoice generation
- Public plans feature
- Deployment
Ernest Nzama
Full-Stack Developer | BSc Computer Science & Informatics
LinkedIn · GitHub
This project is licensed under the MIT License.