Mailcraft is a powerful newsletter management platform that allows creators to build and manage their email subscriber base with ease. Built with Next.js, this platform provides a seamless experience for both newsletter creators and subscribers.
Main dashboard with key metrics and performance indicators
Intuitive email builder interface for creating engaging newsletters
Comprehensive subscriber management and analytics
Track and manage your email campaigns
Clean and simple subscription interface for your audience
Flexible pricing plans to suit different newsletter needs
- 🔐 Secure authentication system
- 📧 Newsletter subscription management
- 💳 Stripe integration for premium subscriptions
- 📊 Subscriber analytics with country-based insights
- 👤 Custom profile pages for creators
- 📱 Responsive design for all devices
- ⚡ Real-time updates and notifications
- Framework: Next.js 14 with App Router
- Authentication: NextAuth.js
- Database: Prisma ORM
- Styling: Tailwind CSS
- Payment Processing: Stripe
- Analytics: Custom implementation with geolocation data
- Deployment: Vercel
Before you begin, ensure you have the following installed:
- Node.js 18.x or later
- npm or yarn package manager
- A Stripe account for payment processing
- PostgreSQL database
Create a .env file in the root directory with the following variables:
# Database
DATABASE_URL="your_database_url"
# Authentication
NEXTAUTH_SECRET="your_nextauth_secret"
NEXTAUTH_URL="http://localhost:3000"
# Stripe
STRIPE_SECRET_KEY="your_stripe_secret_key"
STRIPE_PUBLISHABLE_KEY="your_stripe_publishable_key"
STRIPE_WEBHOOK_SECRET="your_stripe_webhook_secret"- Clone the repository:
git clone https://github.com/yourusername/mailcraft.git
cd mailcraft- Install dependencies:
npm install
# or
yarn install- Set up the database:
npx prisma generate
npx prisma db push- Run the development server:
npm run dev
# or
yarn devOpen http://localhost:3000 with your browser to see the application.
mailcraft/
├── app/ # Next.js app directory
│ ├── api/ # API routes
│ ├── components/ # Reusable components
│ └── [username]/ # Dynamic user routes
├── lib/ # Utility functions and configurations
├── prisma/ # Database schema and migrations
└── public/ # Static assets
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the Mailcraft Non-Commercial License - see the LICENSE file for details. This license explicitly prohibits any commercial use of the software. The software may only be used for personal, educational, research, or other non-commercial purposes.