Skip to content

drftstatic/project_fred

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

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 Configuration
VITE_FIREBASE_API_KEY=your_api_key
VITE_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=your_project_id
VITE_FIREBASE_STORAGE_BUCKET=your_project.appspot.com
VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
VITE_FIREBASE_APP_ID=your_app_id

# Google AI Services
GOOGLE_AI_API_KEY=your_google_ai_api_key

# Development
VITE_USE_FIREBASE_EMULATORS=true
VITE_FIREBASE_EMULATOR_HOST=localhost
VITE_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

No releases published

Packages

 
 
 

Contributors

Languages