AdAlChemy is an AI-driven tool designed to generate personalized promotional content such as banners and ad creatives for targeted marketing campaigns. It leverages machine learning and natural language processing to produce context-aware, engaging, and visually appealing promotional materials, helping businesses automate their advertising workflow and improve audience engagement.
- AI-Powered Content Generation: Utilizes OpenAI API and custom ML models for intelligent content creation
- Multi-Format Support: Generate banners, social media posts, email campaigns, and ad creatives
- Personalization Engine: Context-aware content tailored to target audience demographics
- Real-time Preview: Instant visualization of generated promotional materials
- Template Library: Pre-built templates for various industries and use cases
- Export Options: Download in multiple formats (PNG, JPG, SVG, PDF)
- Campaign Management: Organize and track your promotional campaigns
- Analytics Dashboard: Monitor engagement and performance metrics
- Framework: Next.js 14 with App Router
- UI Library: React 18
- Styling: TailwindCSS
- Components: shadcn/ui
- Icons: Lucide React
- State Management: Zustand
- API Client: Axios
- Runtime: Node.js 20+
- Framework: Express.js
- Authentication: JWT + bcrypt
- Validation: Zod
- API Documentation: Swagger/OpenAPI
- Language: Python 3.11+
- Framework: FastAPI
- ML Libraries: TensorFlow, PyTorch
- NLP: Transformers, spaCy
- Image Generation: Pillow, OpenAI DALL-E API
- Text Generation: OpenAI GPT-4 API
- Primary DB: MongoDB
- ODM: Mongoose
- Caching: Redis
- File Storage: AWS S3 / Cloudinary
- Containerization: Docker
- Orchestration: Kubernetes
- CI/CD: GitHub Actions
- Deployment: Vercel (Frontend), AWS ECS (Backend)
- Monitoring: Prometheus + Grafana
AdAlChemy/
βββ frontend/ # Next.js frontend application
β βββ src/
β β βββ app/ # App router pages
β β βββ components/ # React components
β β βββ lib/ # Utilities and helpers
β β βββ hooks/ # Custom React hooks
β β βββ styles/ # Global styles
β βββ public/ # Static assets
β βββ package.json
βββ backend/ # Node.js/Express API
β βββ src/
β β βββ controllers/ # Route controllers
β β βββ models/ # Database models
β β βββ routes/ # API routes
β β βββ middleware/ # Custom middleware
β β βββ services/ # Business logic
β β βββ utils/ # Utility functions
β βββ package.json
βββ ml-service/ # Python AI/ML service
β βββ app/
β β βββ models/ # ML models
β β βββ services/ # AI services
β β βββ api/ # FastAPI routes
β β βββ utils/ # Helper functions
β βββ requirements.txt
βββ docker/ # Docker configurations
β βββ frontend.Dockerfile
β βββ backend.Dockerfile
β βββ ml-service.Dockerfile
βββ k8s/ # Kubernetes manifests
β βββ frontend/
β βββ backend/
β βββ ml-service/
βββ .github/ # GitHub Actions workflows
β βββ workflows/
βββ docker-compose.yml # Local development setup
- Node.js 20+ and npm/yarn
- Python 3.11+
- MongoDB (local or Atlas)
- Docker and Docker Compose (optional)
- OpenAI API Key
Create .env files in each service directory:
NEXT_PUBLIC_API_URL=http://localhost:5000
NEXT_PUBLIC_ML_API_URL=http://localhost:8000PORT=5000
MONGODB_URI=mongodb://localhost:27017/adalchemy
JWT_SECRET=your_jwt_secret_here
OPENAI_API_KEY=your_openai_api_key
AWS_ACCESS_KEY_ID=your_aws_key
AWS_SECRET_ACCESS_KEY=your_aws_secret
REDIS_URL=redis://localhost:6379OPENAI_API_KEY=your_openai_api_key
MODEL_PATH=./models# Clone the repository
git clone https://github.com/yourusername/adalchemy.git
cd adalchemy
# Start all services
docker-compose up -d
# Access the application
# Frontend: http://localhost:3000
# Backend API: http://localhost:5000
# ML Service: http://localhost:8000
# API Docs: http://localhost:5000/api-docs# Install frontend dependencies
cd frontend
npm install
npm run dev
# Install backend dependencies (in new terminal)
cd backend
npm install
npm run dev
# Install ML service dependencies (in new terminal)
cd ml-service
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8000Once the backend is running, visit:
- Swagger UI:
http://localhost:5000/api-docs - ML Service Docs:
http://localhost:8000/docs
POST /api/auth/register- Register new userPOST /api/auth/login- User loginPOST /api/auth/refresh- Refresh token
POST /api/generate/banner- Generate banner contentPOST /api/generate/ad-copy- Generate ad copyPOST /api/generate/social-post- Generate social media postGET /api/generate/templates- Get available templates
GET /api/campaigns- List campaignsPOST /api/campaigns- Create campaignGET /api/campaigns/:id- Get campaign detailsPUT /api/campaigns/:id- Update campaignDELETE /api/campaigns/:id- Delete campaign
POST /ml/generate-text- Generate promotional textPOST /ml/generate-image- Generate banner imagesPOST /ml/analyze-sentiment- Analyze content sentimentPOST /ml/optimize-content- Optimize for engagement
const response = await fetch('http://localhost:5000/api/generate/banner', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_TOKEN'
},
body: JSON.stringify({
productName: 'EcoBottle',
targetAudience: 'environmentally conscious millennials',
tone: 'friendly and inspiring',
dimensions: { width: 1200, height: 628 },
template: 'modern-minimal'
})
});
const data = await response.json();
console.log(data.imageUrl, data.generatedText);# Frontend tests
cd frontend
npm test
npm run test:e2e
# Backend tests
cd backend
npm test
npm run test:integration
# ML service tests
cd ml-service
pytestcd frontend
vercel --prod# Build and push Docker image
docker build -f docker/backend.Dockerfile -t adalchemy-backend .
docker tag adalchemy-backend:latest your-registry/adalchemy-backend:latest
docker push your-registry/adalchemy-backend:latest
# Deploy using AWS CLI or Terraform# Apply all manifests
kubectl apply -f k8s/
# Check deployment status
kubectl get pods -n adalchemy- Content Generation: < 3 seconds average
- API Response Time: < 200ms
- Concurrent Users: 1000+
- Uptime: 99.9% SLA
- Fork the repository
- Create a 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 file for details.
- Project Lead: [Your Name]
- Tech Stack: React.js, Next.js, Node.js, Express, MongoDB, Python, TensorFlow, PyTorch, OpenAI API
- Experience Level: Beginner-friendly with comprehensive documentation
- OpenAI for GPT-4 and DALL-E APIs
- shadcn/ui for beautiful components
- The open-source community
For questions and support:
- Open an issue on GitHub
- Email: support@adalchemy.com
- Discord: [Join our community]
- Multi-language support
- Video ad generation
- A/B testing framework
- Advanced analytics
- Mobile app
- Collaborative workspaces
- AI model fine-tuning interface
- Integration with ad platforms (Google Ads, Facebook Ads)
Made with β€οΈ by the AdAlChemy Team