Skip to content

Repository files navigation

PROJECT FRED - AI Creative Studio Assistant

PROJECT FRED is an AI-powered creative studio assistant that learns from user decisions across projects, providing strategic mentorship and multimedia generation capabilities. Built with a modern tech stack and designed for scalability, it serves as a comprehensive platform for creative professionals.

🚀 Features

Core Capabilities

  • Infinite Canvas Workspace: Drag-and-drop interface powered by Fabric.js for creative asset management
  • AI Learning System: Cross-project pattern recognition and personalized recommendations
  • Real-time Collaboration: Asynchronous collaboration with live updates and conflict resolution
  • Multimedia Generation: AI-powered text, image (Imagen 4), and video (Veo 3) generation
  • Research & Discovery: AI-powered trend analysis and inspiration discovery
  • Export & Deliverables: Multiple export formats with customizable templates
  • Fred Chat Interface: Conversational AI assistant for project guidance

User Stories

  1. Creative Project Workflow: Complete project lifecycle management with AI assistance
  2. Cross-Project Learning: AI learns from user decisions and provides strategic insights
  3. Collaborative Review: Team collaboration with structured feedback and review processes
  4. Research and Discovery: AI-powered research and trend analysis
  5. Multimedia Generation Pipeline: Seamless AI content generation workflow
  6. Export and Deliverables: Professional export capabilities with multiple formats

🏗️ Architecture

Tech Stack

  • Frontend: React 18, TypeScript, Vite, Tailwind CSS
  • Backend: Node.js, Firebase Cloud Functions, TypeScript
  • Database: Firebase Firestore (NoSQL)
  • Storage: Google Cloud Storage
  • AI Services: Google Gemini 2.5 Pro, Imagen 4, Veo 3
  • Authentication: Firebase Authentication (Google OAuth)
  • Real-time: Firebase Firestore real-time listeners
  • Canvas: Fabric.js for infinite canvas functionality
  • Testing: Jest, React Testing Library, Playwright

Project Structure

PROJECT_FRED/
├── frontend/ # React frontend application
│ ├── src/
│ │ ├── components/ # React components
│ │ ├── contexts/ # React contexts
│ │ ├── hooks/ # Custom React hooks
│ │ ├── services/ # API and service layers
│ │ ├── stores/ # State management
│ │ └── utils/ # Utility functions
│ └── package.json
├── backend/ # Firebase Cloud Functions
│ ├── src/
│ │ ├── functions/ # Cloud Functions
│ │ └── lib/ # Shared backend utilities
│ └── package.json
├── shared/ # Shared types and utilities
│ ├── types/ # TypeScript type definitions
│ ├── constants/ # Application constants
│ └── utils/ # Shared utility functions
└── specs/ # Project specifications
└── 001-project-fred/ # Detailed feature specifications

🚀 Getting Started

Prerequisites

  • Node.js 18+ and npm
  • Firebase CLI
  • Google Cloud account with AI services enabled
  • Git

Installation

  1. Clone the repository

    git clone <repository-url>cd PROJECT_FRED
  2. Install dependencies

    npm install
    cd frontend && npm install
    cd ../backend && npm install
    cd ../shared && npm install
  3. Set up environment variables

    cp env.example .env
    # Edit .env with your configuration
  4. Initialize Firebase

    firebase login
    firebase init
  5. Start development servers

    # Start all services
    npm run dev
    # Or start individually
    npm run dev:frontend
    npm run dev:backend

Environment Variables

Create a .env file in the root directory:

# Firebase ConfigurationVITE_FIREBASE_API_KEY=your_api_keyVITE_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.comVITE_FIREBASE_PROJECT_ID=your_project_idVITE_FIREBASE_STORAGE_BUCKET=your_project.appspot.comVITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_idVITE_FIREBASE_APP_ID=your_app_id# Google AI ServicesGOOGLE_AI_API_KEY=your_google_ai_api_key# DevelopmentVITE_USE_FIREBASE_EMULATORS=trueVITE_FIREBASE_EMULATOR_HOST=localhostVITE_FIREBASE_EMULATOR_PORT=9099

🧪 Testing

Running Tests

# Run all tests
npm test# Run frontend tests
npm run test:frontend
# Run backend tests
npm run test:backend
# Run E2E tests
npm run test:e2e

Test Coverage

npm run test:coverage

🚀 Deployment

Frontend Deployment

npm run build:frontend
npm run deploy:frontend

Backend Deployment

npm run build:backend
npm run deploy:backend

Full Deployment

npm run deploy

📊 Performance Monitoring

The application includes comprehensive performance monitoring:

  • Core Web Vitals: FCP, LCP, FID, CLS tracking
  • Custom Metrics: API response times, user interactions
  • Real-time Alerts: Performance threshold monitoring
  • Performance Score: Overall application health scoring

🔧 Development

Code Quality

  • ESLint: Code linting and style enforcement
  • Prettier: Code formatting
  • TypeScript: Type safety and development experience
  • Husky: Git hooks for quality checks

Git Workflow

  1. Create feature branch from main
  2. Make changes with proper commit messages
  3. Run tests and linting
  4. Create pull request for review
  5. Merge after approval

API Documentation

  • OpenAPI 3.0: Complete API specification in specs/001-project-fred/contracts/api-schema.yaml
  • Interactive Docs: Available at /api/docs when running locally

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Guidelines

  • Follow TypeScript best practices
  • Write comprehensive tests
  • Update documentation
  • Follow the existing code style
  • Ensure all tests pass

📝 License

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

🆘 Support

For support and questions:

🗺️ Roadmap

Phase 1: Core Platform ✅

  • Basic project structure and setup
  • Authentication and user management
  • Canvas workspace implementation
  • Basic AI integration

Phase 2: Advanced Features 🚧

  • Advanced AI learning algorithms
  • Enhanced collaboration features
  • Mobile application
  • Plugin system

Phase 3: Enterprise Features 📋

  • Team management and permissions
  • Advanced analytics and reporting
  • Custom AI model training
  • Enterprise integrations

🙏 Acknowledgments

  • Google Cloud Platform for AI services
  • Firebase for backend infrastructure
  • React and TypeScript communities
  • Fabric.js for canvas functionality
  • All contributors and testers

PROJECT FRED - Empowering creative professionals with AI-driven insights and tools.

About

PROJECT FRED is an AI-powered creative studio assistant that learns from user decisions across projects, providing strategic mentorship and multimedia generation capabilities

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages