A React-based application for designing, generating, and tracking greeting cards. This application allows users to create custom cards with AI-generated messages, manage contacts, and track sent cards.
- Select from multiple card designs (Birthday, Thank You, Congratulations, Sympathy)
- Choose different stationery types (Matte, Glossy, Textured, Recycled)
- AI-powered message generation
- Real-time card preview
- Custom message editing
- Add and remove contacts
- Store contact names and email addresses
- Simple and intuitive interface
- Persistent contact list management
- Track all sent cards
- View recipient details
- Monitor card designs used
- Track sending dates
- React with TypeScript
- Next.js (Client-side components)
- Tailwind CSS for styling
- shadcn/ui components library
- AI integration for message generation
The main card design interface that includes:
- Design selection dropdown
- Stationery type selection
- Message generation and editing
- Card preview
- Toast notifications for error handling
A contact management system featuring:
- Contact addition form
- Contact list display
- Contact deletion functionality
- Type-safe contact handling
A tracking system that displays:
- Tabular view of sent cards
- Recipient information
- Card design details
- Sending dates
- Install dependencies:
npm install- Required UI components:
npx shadcn-ui@latest init
npx shadcn-ui@latest add select button textarea input toast- Make sure you have the following environment variables set up for AI message generation:
# Add your AI service credentials here
AI_API_KEY=your_api_key- Start the development server:
npm run dev- Open your browser and navigate to
http://localhost:3000
src/
├── components/
│ ├── CardDesigner.tsx
│ ├── ContactManager.tsx
│ └── SentCardTracker.tsx
├── actions/
│ └── generateMessage.ts
└── components/ui/
├── select.tsx
├── button.tsx
├── textarea.tsx
└── input.tsx
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE.md file for details.