DocuMind is an intelligent document analysis platform that leverages AI to extract key information from legal documents, contracts, and other business documents. Built with modern web technologies, it provides secure, scalable, and user-friendly document processing capabilities.
- AI-Powered Analysis: Advanced document analysis using Google's Gemini AI model
- Multiple File Formats: Support for PDF and Word documents (.docx)
- Secure Authentication: JWT-based user registration and login system
- Subscription Management: Pro plan with unlimited document analysis
- Stripe Integration: Secure payment processing with Stripe
- Email Verification: Account verification system with Nodemailer
- Responsive Design: Modern, mobile-friendly interface built with Tailwind CSS
- Security: Rate limiting, CORS protection, and Helmet security headers
- Document Analytics: Track processing history and analysis results
Before running this project, make sure you have the following installed:
- Node.js (v18 or higher)
- npm or yarn
- PostgreSQL (v13 or higher)
- Git
git clone <repository-url>
cd DocuMindcd backend
npm installcd ../frontend
npm installCreate a .env file in the backend directory with the following variables:
# Server Configuration
PORT=3001
NODE_ENV=development
# Database
DATABASE_URL=postgresql://username:password@localhost:5432/documind
# JWT
JWT_SECRET=your-super-secret-jwt-key
# Stripe
STRIPE_SECRET_KEY=sk_test_your_stripe_secret_key
STRIPE_WEBHOOK_SECRET=whsec_your_webhook_secret
# Google Gemini AI
GEMINI_API_KEY=your_gemini_api_key
# Email (Gmail example)
EMAIL_HOST=smtp.gmail.com
EMAIL_PORT=587
EMAIL_USER=your-email@gmail.com
EMAIL_PASS=your-app-password
# Rate Limiting
RATE_LIMIT_WINDOW_MS=900000
RATE_LIMIT_MAX_REQUESTS=100- Create a PostgreSQL database named
documind - The application will automatically create the required tables on first run
Backend:
cd backend
npm run devFrontend:
cd frontend
npm startThe application will be available at:
- Frontend: http://localhost:3000
- Backend API: http://localhost:3001
- Health Check: http://localhost:3001/health
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the ISC License.