Modern Document Management System with AI Integration
A powerful, AI-powered document editor built with Next.js 14 and Google Gemini. Create, edit, and enhance your documents with intelligent writing assistance.
- TinyMCE Integration: Full-featured WYSIWYG editor
- Table Support: Create and edit tables with proper formatting
- Multiple Page Formats: A4, F4, Legal, and Letter sizes
- Real-time Auto-save: Never lose your work
- Export Options: PDF and DOC export capabilities
- Smart Writing: Generate content from prompts
- Content Enhancement: Improve grammar and structure
- Auto-continuation: Continue writing seamlessly
- Summarization: Create concise summaries
- Translation: Multi-language support
- Knowledge Base: Pattern-based table generation
- Upload & Organize: Drag-and-drop file uploads
- File Browser: Intuitive file navigation
- Multiple Formats: Support for various file types
- Responsive Design: Works on all screen sizes
- Dark/Light Theme: Toggle between themes
- Clean Interface: Professional, distraction-free design
- Real-time Updates: Live clock and status indicators
- Node.js 18+
- npm or yarn
- Git
- Google Gemini API key
- TinyMCE API key
# Clone the repository
git clone https://github.com/risunCode/ElectronicSheet.git
cd ElectronicSheet
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env.local
# Edit .env.local and configure your API keys:
# - GEMINI_API_KEY=your_gemini_api_key_here
# - TINYMCE_API_KEY=your_tinymce_api_key_here
# - DATABASE_URL="file:./dev.db"
# Initialize database
npx prisma generate
npx prisma db push
# Start development server
npm run dev
# Open http://localhost:3000# 1. Install Laragon and start services
# 2. Clone in laragon/www directory
cd C:\laragon\www
git clone https://github.com/risunCode/ElectronicSheet.git
cd ElectronicSheet
# 3. Install dependencies
npm install
# 4. Set up environment
cp .env.example .env.local
# Edit .env.local with your API keys
# 5. Database setup
npx prisma generate
npx prisma db push
# 6. Start development
npm run dev
# 7. Access via: http://localhost:3000 or http://electronicsheet.test (with Laragon virtual host)# 1. Install Vercel CLI
npm i -g vercel
# 2. Login to Vercel
vercel login
# 3. Deploy
vercel --prod
# 4. Set environment variables in Vercel dashboard:
# - GEMINI_API_KEY
# - TINYMCE_API_KEY
# - DATABASE_URL (use Vercel Postgres or external DB)# 1. Build the project
npm run build
# 2. Deploy to Netlify
# - Connect GitHub repository
# - Set build command: npm run build
# - Set publish directory: .next
# - Add environment variables in Netlify dashboardCreate .env.local file in project root:
# Required
GEMINI_API_KEY=your_gemini_api_key_here
TINYMCE_API_KEY=your_tinymce_api_key_here
# Database
DATABASE_URL="file:./dev.db"
# Optional
NEXT_PUBLIC_APP_URL=http://localhost:3000- Visit Google AI Studio
- Create a new project or select existing
- Generate API key
- Add to
.env.local
- Visit TinyMCE
- Sign up for free account
- Get API key from dashboard
- Add to
.env.local
- Navigate to Documents page
- Click "Create New Document"
- Choose paper format and orientation
- Start writing with TinyMCE editor
- Use AI assistant for content enhancement
- Write:
"Create a business proposal outline" - Continue: Select text and click Continue
- Improve: Highlight text to enhance
- Summarize: Generate document summary
- Translate: Convert to different languages
- Knowledge: Get structured table patterns
- Click "View Instructions" button
- Navigate to desired action
- Customize prompts with placeholders:
[content]- User's text input[language]- Target language for translation
- Go to Files section
- Upload files via drag-and-drop
- Organize in folders
- Link files to documents
- Framework: Next.js 14 with App Router
- Language: TypeScript
- Styling: TailwindCSS
- Database: Prisma ORM + SQLite
- AI: Google Gemini API
- Editor: TinyMCE
- UI: Custom components + Font Awesome
- Deployment: Vercel/Netlify ready
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLint
npm run type-check # TypeScript type checking# View data
npx prisma studio
# Reset database
npx prisma db push --force-reset
# Generate client
npx prisma generate
# Run migrations (production)
npx prisma migrate deploy# Initialize repository (if starting fresh)
git init
git add .
git commit -m "Initial commit"
# Add remote origin
git remote add origin https://github.com/risunCode/ElectronicSheet.git
git branch -M main
git push -u origin main
# Development workflow
git checkout -b feature/your-feature
git add .
git commit -m "Add your feature"
git push origin feature/your-feature
# Create Pull Request on GitHub.env.example- Environment variables template.gitignore- Git ignore patterns (includes laravel-old)prisma/schema.prisma- Database schemaLICENSE- MIT License file
- Fork the repository
- Create feature branch (
git checkout -b feature/AmazingFeature) - Commit changes (
git commit -m 'Add AmazingFeature') - Push to branch (
git push origin feature/AmazingFeature) - Open Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
risunCode
- GitHub: @risunCode
- Project: ElectronicSheet
- Next.js - React framework
- TinyMCE - Rich text editor
- Google Gemini - AI language model
- Prisma - Database ORM
- TailwindCSS - CSS framework
- Font Awesome - Icons
β Star this repo if you find it helpful!