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.
- 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
- Creative Project Workflow: Complete project lifecycle management with AI assistance
- Cross-Project Learning: AI learns from user decisions and provides strategic insights
- Collaborative Review: Team collaboration with structured feedback and review processes
- Research and Discovery: AI-powered research and trend analysis
- Multimedia Generation Pipeline: Seamless AI content generation workflow
- Export and Deliverables: Professional export capabilities with multiple formats
- 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_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
- Node.js 18+ and npm
- Firebase CLI
- Google Cloud account with AI services enabled
- Git
-
Clone the repository
git clone <repository-url> cd PROJECT_FRED
-
Install dependencies
npm install cd frontend && npm install cd ../backend && npm install cd ../shared && npm install
-
Set up environment variables
cp env.example .env # Edit .env with your configuration -
Initialize Firebase
firebase login firebase init
-
Start development servers
# Start all services npm run dev # Or start individually npm run dev:frontend npm run dev:backend
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# 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:e2enpm run test:coveragenpm run build:frontend
npm run deploy:frontendnpm run build:backend
npm run deploy:backendnpm run deployThe 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
- ESLint: Code linting and style enforcement
- Prettier: Code formatting
- TypeScript: Type safety and development experience
- Husky: Git hooks for quality checks
- Create feature branch from
main - Make changes with proper commit messages
- Run tests and linting
- Create pull request for review
- Merge after approval
- OpenAPI 3.0: Complete API specification in
specs/001-project-fred/contracts/api-schema.yaml - Interactive Docs: Available at
/api/docswhen running locally
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow TypeScript best practices
- Write comprehensive tests
- Update documentation
- Follow the existing code style
- Ensure all tests pass
This project is licensed under the MIT License - see the LICENSE file for details.
For support and questions:
- Create an issue in the repository
- Check the documentation
- Review the FAQ
- Basic project structure and setup
- Authentication and user management
- Canvas workspace implementation
- Basic AI integration
- Advanced AI learning algorithms
- Enhanced collaboration features
- Mobile application
- Plugin system
- Team management and permissions
- Advanced analytics and reporting
- Custom AI model training
- Enterprise integrations
- 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.