A comprehensive web application for creating, editing, and collaborating on assignment presentations with real-time features and AI-powered tools.
- Advanced text formatting (bold, italic, underline, strikethrough)
- Font family selection with 50+ options
- Font size control (8px - 72px) with smooth increments
- Text color picker
- Text alignment (left, center, right)
- Clear formatting options
- Live collaborative editing
- Multiple users can edit simultaneously
- Cursor tracking and presence indicators
- Conflict resolution and synchronization
- Invite system for team collaboration
- GPT integration for content generation
- AI-powered search and suggestions
- Smart content assistance
- Automated formatting suggestions
- Responsive design for all devices
- Dark/Light theme toggle
- Intuitive toolbar interface
- Drag-and-drop functionality
- Real-time auto-save
- Secure admin authentication
- Template management
- User management
- System monitoring
- Translation services
- Language switching
- Internationalization ready
- Frontend: Next.js 14, React, TypeScript
- Styling: Tailwind CSS
- Editor: Lexical (Facebook's rich text editor)
- Database: Firebase Firestore
- Authentication: Firebase Auth
- Real-time: Firebase Realtime Database
- AI: OpenAI GPT API
- Deployment: Vercel ready
- Node.js 18+
- npm or yarn
- Firebase account
- OpenAI API key (optional)
- Clone the repository
git clone https://github.com/Thecodingpm/assignment-pp-maker.git
cd assignment-pp-maker- Install dependencies
npm install- Environment Setup
Create a
.env.localfile with your configuration:
NEXT_PUBLIC_FIREBASE_API_KEY=your_api_key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_domain
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_bucket
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
NEXT_PUBLIC_FIREBASE_APP_ID=your_app_id
OPENAI_API_KEY=your_openai_key- Run the development server
npm run dev- Open your browser Navigate to http://localhost:3000
- Navigate to the editor
- Use the toolbar for formatting
- Add text, images, and media
- Collaborate with team members
- Export your presentation
- Default size: 12px on page load
- Increase/Decrease: Use +/- buttons for 1px increments
- Range: 8px to 72px
- Smart application: Only affects new text at cursor position
- Create or join a presentation
- Share invite links with team members
- Edit simultaneously in real-time
- See live cursor movements and changes
assignment-pp-maker/
├── app/ # Next.js app directory
│ ├── components/ # React components
│ ├── admin/ # Admin system
│ ├── api/ # API routes
│ ├── firebase/ # Firebase configuration
│ └── utils/ # Utility functions
├── public/ # Static assets
├── docs/ # Documentation
└── config files # Configuration files
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is licensed under the MIT License.
For support and questions:
- Create an issue on GitHub
- Check the documentation
- Review the setup guides
- Enhanced media support
- Advanced collaboration features
- Mobile app development
- Integration with learning management systems
- Advanced AI features
Built with ❤️ using Next.js and modern web technologies