Skip to content

Latest commit

Β 

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ§šβ€β™€οΈ Tinkerbell - AI Marketing Assistant

Tinkerbell Logo

Transform Your Marketing from Hours to Minutes with AI-Powered Automation

Status License Node.js OpenAI

πŸš€ Quick Start β€’ 🌟 Features β€’ πŸ› οΈ Setup β€’ πŸ—οΈ Architecture


🎯 What is Tinkerbell?

Tinkerbell is a complete AI-powered marketing automation platform that revolutionizes marketing for small businesses. With a modern, professional interface inspired by Planable and Sintra.ai, it transforms complex marketing tasks into a simple 3-step process:

Step 1: Tell us about your business
Step 2: AI creates detailed customer personas
Step 3: Get ready-to-launch campaigns with social media posts

Built as a fully functional MVP in 4 hours, demonstrating rapid development capabilities for investors and users alike.

🌟 Key Features

Feature Description Status
πŸ€– AI Persona Generation Creates detailed customer profiles using GPT-4 βœ… Ready
πŸ“ Content Creation Generates posts, captions, hashtags automatically βœ… Ready
πŸ–ΌοΈ Image Analysis AI-powered product image analysis and generation βœ… Ready
πŸ“‹ Planable Integration Seamless workflow publishing to marketing teams βœ… Ready
πŸ“± Facebook Integration Direct social media posting capabilities βœ… Ready
🎨 Modern UI/UX Professional, clean Planable-inspired interface βœ… Ready
🌐 Landing Page Beautiful marketing site with animations βœ… Ready

πŸš€ Quick Start

Prerequisites

  • Node.js 18+ installed
  • OpenAI API key
  • Facebook Page access token (optional)
  • Planable account (optional)

1. Clone & Install

git clone https://github.com/Nicu106/26-Team.git
cd 26-Team
cd tinkerbell-backend && npm install
cd ../tinkerbell-frontend

2. Configure Environment

# In tinkerbell-backend directory
copy .env.example .env
# Edit .env with your API keys

3. Start Services

# Terminal 1: Backend (port 3000)
cd tinkerbell-backend
npm start

# Terminal 2: Frontend (port 8081)
cd tinkerbell-frontend
node server.js

4. Open Application


πŸ› οΈ Setup Guide

πŸ“‹ Step 1: Clone & Install

git clone https://github.com/Nicu106/26-Team.git
cd 26-Team

πŸ“‹ Step 2: Backend Setup

cd tinkerbell-backend

# Install dependencies
npm install

# Create environment file
copy .env.example .env  # Windows
# cp .env.example .env  # macOS/Linux

# Edit .env with your API keys
notepad .env  # Windows
# nano .env   # macOS/Linux

Required Environment Variables:

OPENAI_API_KEY=sk-your-openai-key-here
PORT=3000

# Optional for enhanced features
PLANABLE_API_KEY=your_planable_key
FACEBOOK_ACCESS_TOKEN=your_fb_token
FACEBOOK_PAGE_ID=your_page_id

πŸ“‹ Step 3: Frontend Setup

cd ../tinkerbell-frontend

# The frontend uses a custom Node.js server
# No additional installation required

πŸ“‹ Step 4: Start the Servers

Backend (Terminal 1):

cd tinkerbell-backend
npm start

Frontend (Terminal 2):

cd tinkerbell-frontend
node server.js

πŸ“‹ Step 5: Verify Installation

  1. Backend Health Check: http://localhost:3000/api/health
  2. Frontend Landing: http://localhost:8081
  3. Main Application: http://localhost:8081/index.html?app=true

πŸ—οΈ Architecture Overview

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Frontend      β”‚    β”‚    Backend      β”‚    β”‚  External APIs  β”‚
β”‚   (Port 8081)   │◄──►│   (Port 3000)   │◄──►│                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β”‚                      β”‚                      β”‚                 β”‚
β”‚ β€’ Landing Page       β”‚ β€’ AI Processing     β”‚ β€’ OpenAI GPT-4   β”‚
β”‚ β€’ 3-Step Onboarding  β”‚ β€’ Image Analysis    β”‚ β€’ Facebook API   β”‚
β”‚ β€’ Modern UI/UX       β”‚ β€’ Campaign Logic    β”‚ β€’ Planable API   β”‚
β”‚ β€’ Session Management β”‚ β€’ API Endpoints     β”‚ β€’ Image Services β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ”§ Technology Stack

Frontend:

  • Framework: Vanilla JavaScript + Modern CSS
  • UI: Planable-inspired design system
  • Server: Custom Node.js static file server
  • Fonts: Inter (Google Fonts)

Backend:

  • Runtime: Node.js 18+
  • Framework: Express.js
  • AI: OpenAI GPT-4
  • Integrations: Planable API, Facebook Graph API
  • File Handling: Multer for image uploads

External Services:

  • AI Processing: OpenAI GPT-4 & DALL-E
  • Publishing: Planable Workspace API
  • Social Media: Facebook Graph API

πŸ“ Project Structure

Tinkerbell/
β”œβ”€β”€ πŸ“‚ tinkerbell-frontend/           # Frontend application
β”‚   β”œβ”€β”€ 🌐 landing.html              # Marketing landing page
β”‚   β”œβ”€β”€ 🎯 index.html                # Main application
β”‚   β”œβ”€β”€ 🎨 style.css                 # Application styles  
β”‚   β”œβ”€β”€ βš™οΈ script.js                 # Application logic
β”‚   └── πŸš€ server.js                 # Frontend server
β”œβ”€β”€ πŸ“‚ tinkerbell-backend/            # Backend API server
β”‚   β”œβ”€β”€ πŸ”§ server.js                 # Main server file
β”‚   β”œβ”€β”€ πŸ€– aiClient.js               # OpenAI integration
β”‚   β”œβ”€β”€ πŸ“‹ planableClient.js         # Planable API client
β”‚   β”œβ”€β”€ πŸ“± facebookService.js        # Facebook integration
β”‚   β”œβ”€β”€ πŸ–ΌοΈ imageService.js           # Image processing
β”‚   └── πŸ“¦ package.json              # Dependencies
β”œβ”€β”€ πŸ“‚ docs/                         # Documentation
β”œβ”€β”€ πŸ“‚ testing/                      # Test files
└── πŸ“„ README.md                     # This file

πŸ§ͺ Testing

πŸ” Health Checks

# Backend health check
curl http://localhost:3000/api/health

# Test AI functionality
curl -X POST http://localhost:3000/api/personas \
  -H "Content-Type: application/json" \
  -d '{"businessName":"Test Business","businessDescription":"Test"}'

πŸ§ͺ Test Files

The project includes comprehensive test files:

  • test-ai.js - AI integration testing
  • test-facebook.js - Facebook API testing
  • test-planable.js - Planable integration testing
  • test-endpoints.js - Full API testing
cd tinkerbell-backend
node test-ai.js        # Test AI functionality
node test-endpoints.js # Test all endpoints

πŸ“Š API Documentation

🎯 Core Endpoints

Endpoint Method Description
/api/health GET Health check
/api/personas POST Generate AI personas
/api/campaigns POST Create marketing campaigns
/api/upload-images POST Upload and analyze images
/api/publish-to-planable POST Publish to Planable

πŸ“ Example API Usage

Generate Customer Personas:

curl -X POST http://localhost:3000/api/personas \
  -H "Content-Type: application/json" \
  -d '{
    "businessName": "Martha'\''s Flower Shop",
    "businessDescription": "Local florist specializing in wedding arrangements",
    "targetCustomers": "Brides-to-be, event planners",
    "businessGoals": "Increase wedding bookings"
  }'

πŸ”§ Configuration

βš™οΈ Environment Variables

Variable Required Description
OPENAI_API_KEY βœ… Yes OpenAI API key for AI features
PORT ❌ No Backend port (default: 3000)
PLANABLE_API_KEY ❌ No For Planable integration
FACEBOOK_ACCESS_TOKEN ❌ No For Facebook posting
FACEBOOK_PAGE_ID ❌ No Target Facebook page

πŸš€ Production Configuration

For production deployment:

NODE_ENV=production
OPENAI_API_KEY=your_production_key
PORT=3000

πŸš€ Deployment

🌐 Frontend Deployment

The frontend is a static site that can be deployed to:

  • Netlify (recommended)
  • Vercel
  • GitHub Pages
  • Any static hosting service

βš™οΈ Backend Deployment

The backend can be deployed to:

  • Railway (recommended)
  • Heroku
  • DigitalOcean
  • AWS/Azure/GCP

πŸ› Troubleshooting

❓ Common Issues

Port already in use:

# Kill processes on ports
npx kill-port 3000 8081

Missing API key:

# Check environment variables
echo $OPENAI_API_KEY  # macOS/Linux
echo %OPENAI_API_KEY% # Windows

Navigation issues:

  • Clear browser cache and session storage
  • Ensure both servers are running
  • Check browser console for errors

πŸ“ž Need Help?

  1. Check the Issues page
  2. Review the troubleshooting documentation
  3. Create a new issue with detailed information

🀝 Contributing

We welcome contributions! Please see our contributing guidelines:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ™ Acknowledgments

  • OpenAI for providing GPT-4 API
  • Planable for inspiration and integration
  • Inter Font by Rasmus Andersson
  • The amazing open-source community

Made with ❀️ by the Tinkerbell Team

⭐ Star this repo β€’ πŸ› Report Bug β€’ πŸ’‘ Request Feature

🌟 From concept to investor-ready MVP in 4 hours!

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages