A modern SaaS application for automated content generation powered by AI.
Sentry integration provides:
- Real-time error tracking
- Performance monitoring
- User session replay
- Custom error alerts
- Debug information capture
- Production issue resolution
- AI-Powered Content Generation: Leverage Google's Gemini AI for high-quality content creation
- Multi-Platform Support: Generate content for various social media platforms and use cases
- User Authentication: Secure authentication system with Supabase
- Subscription Management: Integrated billing with Paddle payments
- Content History: Track and manage your generated content
- Responsive Design: Modern UI built with Tailwind CSS and shadcn/ui
- Real-time Analytics: Monitor usage and performance
Frontend:
- Next.js 14 (App Router)
- TypeScript
- Tailwind CSS
- shadcn/ui
Backend:
- Next.js API Routes
- Supabase (Database & Authentication)
- Groq AI (Fast AI Inference)
- Paddle (Payments)
- Sentry (Error Monitoring)
Prerequisites:
- Node.js 18+
- npm or yarn
- Supabase account
- Groq API key
- Paddle account (for payments)
- Sentry account (for error monitoring)
Installation Steps:
-
Clone the repository
git clone https://github.com/yourusername/thinktapflow.git cd thinktapflow
-
Install dependencies
npm install
-
Set up environment variables Copy the template from config/env.template.txt and create:
- .env.local (for development)
- .env.production (for production)
-
Configure your environment variables (see section below)
-
Set up Supabase
- Create a new Supabase project
- Run database migrations
- Configure authentication providers
-
Run the development server
npm run dev
-
Open your browser Navigate to http://localhost:3000
Required environment variables:
NEXT_PUBLIC_APP_URL="http://localhost:3000"
NEXT_PUBLIC_APP_NAME="ThinkTapFlow"
NEXT_PUBLIC_SUPABASE_URL="your-supabase-project-url"
NEXT_PUBLIC_SUPABASE_ANON_KEY="your-supabase-anon-key"
SUPABASE_SERVICE_ROLE_KEY="your-supabase-service-role-key"
GROQ_API_KEY="your-groq-api-key"
SENTRY_DSN="your-sentry-dsn"
SENTRY_ORG="your-sentry-org"
SENTRY_PROJECT="your-sentry-project"
NEXT_PUBLIC_PADDLE_CLIENT_TOKEN="your-paddle-client-token"
PADDLE_SECRET_KEY="your-paddle-secret-key"
PADDLE_WEBHOOK_SECRET="your-paddle-webhook-secret"
npm run dev - Start development server
npm run build - Build application for production
npm run start - Start production server
npm run lint - Run ESLint for code linting
npm run type-check - Run TypeScript type checking
The application uses Supabase as the backend. Required tables:
- users: User profiles and metadata
- subscriptions: User subscription information
- generations: Content generation history
- usage_tracking: API usage tracking
ThinkTapFlow uses Supabase Auth with support for:
- Email/password authentication
- Social logins (Google, GitHub, etc.)
- Password recovery
- Email verification
Integrated with Paddle for subscription management:
- Multiple subscription tiers
- Secure payment processing
- Webhook handling for subscription events
- Usage-based billing
Groq AI integration provides:
- Ultra-fast AI inference
- High-quality text generation
- Content optimization
- Multiple content formats
- Customizable generation parameters
- Cost-effective AI processing
Vercel (Recommended):
- Push code to GitHub
- Connect repository to Vercel
- Configure environment variables in Vercel dashboard
- Deploy automatically on push to main branch
Other supported platforms:
- Netlify
- Railway
- DigitalOcean App Platform
- AWS Amplify
Variable | Description | Required |
---|---|---|
NEXT_PUBLIC_APP_URL | Your application URL | Yes |
NEXT_PUBLIC_APP_NAME | Application name | Yes |
NEXT_PUBLIC_SUPABASE_URL | Supabase project URL | Yes |
NEXT_PUBLIC_SUPABASE_ANON_KEY | Supabase anonymous key | Yes |
SUPABASE_SERVICE_ROLE_KEY | Supabase service role key | Yes |
GROQ_API_KEY | Groq AI API key | Yes |
NEXT_PUBLIC_PADDLE_CLIENT_TOKEN | Paddle client token | Yes |
PADDLE_SECRET_KEY | Paddle secret key | Yes |
PADDLE_WEBHOOK_SECRET | Paddle webhook secret | Yes |
SENTRY_DSN | Sentry DSN for error tracking | Yes |
SENTRY_ORG | Sentry organization | Yes |
SENTRY_PROJECT | Sentry project name | Yes |
- Fork the repository
- Create a 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 MIT License - see the LICENSE file for details.
If you encounter issues:
- Check the Issues page on GitHub
- Create a new issue if your problem isn't already reported
- Provide detailed information about your environment and the issue
- Next.js - The React framework
- Supabase - Backend as a Service
- Tailwind CSS - Utility-first CSS framework
- shadcn/ui - Beautiful UI components
- Groq - Fast AI inference platform
- Paddle - Payment infrastructure
- Sentry - Error monitoring and performance tracking
Built with β€οΈ by the ThinkTapFlow team