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 configurationInitialize 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 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# 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.