Powered by Kroolo
Poligap is an advanced AI-powered legal compliance and contract analysis platform that helps organizations ensure regulatory compliance and streamline contract review processes. Built with modern web technologies and enterprise-grade security features.
- π Compliance Check: Upload documents for compliance analysis against multiple standards (HIPAA, GDPR, CCPA, SOX, PCI DSS, ISO 27001, and more)
- π Contract Review: AI-powered contract analysis with gap identification and suggestions
- π€ AI Agents: Manage and deploy specialized legal AI agents for different compliance scenarios
- π Task Management: Organize and track compliance and legal tasks with advanced workflow management
- π¬ Interactive Chat: AI-powered legal assistance and consultation with context-aware responses
- βοΈ Comprehensive Settings: Manage compliance standards and platform configurations
- π Enterprise Search: Powerful search capabilities across documents and knowledge base
- π Analytics Dashboard: Real-time compliance statistics and policy insights
- π Role-based Access Control: Granular permissions and user management
- π Real-time Collaboration: Live document editing and team collaboration features
- π± Responsive Design: Optimized for desktop, tablet, and mobile devices
- π Multi-platform Integration: Connect with popular tools like ClickUp, Jira, Zendesk, Gmail, and more
- Framework: Next.js 15.3.2 with App Router
- UI Library: React 19.0.0 with TypeScript 5.0
- Styling: Tailwind CSS 4.0 with custom design system
- Component Library: Radix UI primitives with custom components
- State Management: Zustand for global state, React Query for server state
- Animations: Framer Motion for smooth transitions and interactions
- Icons: Lucide React + React Icons
- Database: MongoDB 6.16.0 with Mongoose ODM
- Caching: Redis (IORedis) for session management and caching
- Authentication: PropelAuth + NextAuth.js for secure user management
- File Storage: AWS S3 with presigned URLs
- AI Integration: Google Gemini API + Portkey AI for advanced language processing
- Build Tool: Next.js with Turbopack support
- Type Safety: TypeScript with strict mode
- Code Quality: ESLint + Prettier
- Testing: Built-in Next.js testing capabilities
- Package Manager: npm with lock file for consistent installs
- Containerization: Docker with multi-stage builds
- Orchestration: Kubernetes manifests for different environments (QA, UAT, Production)
- CI/CD: GitHub Actions workflows
- Monitoring: Built-in logging and error tracking
- Scaling: Horizontal Pod Autoscaler (HPA) configurations
poligap-kroolo-main/
βββ π src/
β βββ π app/ # Next.js App Router
β β βββ π (app)/ # Main application routes
β β β βββ π ai-agents/ # AI agents management
β β β βββ π chat/ # Interactive chat interface
β β β βββ π compliance/ # Compliance checking tools
β β β βββ π dashboard/ # Analytics dashboard
β β β βββ π knowledge-base/ # Document management
β β β βββ π search/ # Enterprise search
β β β βββ π settings/ # Platform configuration
β β β βββ π tasks/ # Task management
β β βββ π api/ # API routes and endpoints
β β βββ π auth/ # Authentication pages
β β βββ π login/ # Login interface
β β βββ π layout.tsx # Root layout component
β βββ π components/ # Reusable UI components
β β βββ π ui/ # Base UI components (buttons, forms, etc.)
β β βββ π common/ # Shared components
β β βββ π auth/ # Authentication components
β β βββ π knowledge-base/ # Document-related components
β β βββ π search/ # Search interface components
β βββ π lib/ # Utility libraries and configurations
β β βββ π db/ # Database connection and utilities
β β βββ π queries/ # Database queries and operations
β β βββ π mongodb.ts # MongoDB connection setup
β β βββ π redis.ts # Redis configuration
β β βββ π s3-config.ts # AWS S3 setup
β β βββ π gemini-api.ts # AI API integration
β βββ π stores/ # Zustand state management
β β βββ π auth-store.ts # Authentication state
β β βββ π company-store.ts # Company/organization state
β β βββ π ai-agents-store.tsx # AI agents state
β β βββ π user-store.ts # User profile state
β βββ π models/ # Database models and schemas
β β βββ π users.model.ts # User data model
β β βββ π companies.model.ts # Company data model
β β βββ π members.model.ts # Team member model
β β βββ π feedback.model.ts # User feedback model
β βββ π types/ # TypeScript type definitions
β βββ π hooks/ # Custom React hooks
β βββ π utils/ # Utility functions and helpers
β βββ π constants/ # Application constants and configurations
βββ π public/ # Static assets
β βββ π assets/ # Images, icons, and media files
β βββ π fonts/ # Custom font files
βββ π k8s/ # Kubernetes deployment manifests
β βββ π prod-enterprise-search-manifest/
β βββ π qa-enterprise-search-manifest/
β βββ π uat-enterprise-search-manifest/
βββ π package.json # Dependencies and scripts
βββ π tsconfig.json # TypeScript configuration
βββ π tailwind.config.ts # Tailwind CSS configuration
βββ π next.config.ts # Next.js configuration
βββ π Dockerfile # Docker containerization
- PropelAuth Integration: Enterprise-grade authentication
- Role-based Access: Granular permission system
- Session Management: Redis-based session storage
- Multi-organization Support: Company-based user isolation
- Document Analysis: Automated compliance checking
- Contract Review: Gap analysis and recommendations
- Interactive Chat: Context-aware legal assistance
- Custom AI Agents: Specialized bots for different compliance needs
- MongoDB Integration: Flexible document storage
- File Upload System: AWS S3 integration with presigned URLs
- Real-time Updates: WebSocket connections for live collaboration
- Search Capabilities: Full-text search across documents
- Design System: Consistent component library
- Dark/Light Mode: Theme switching with next-themes
- Responsive Design: Mobile-first approach
- Accessibility: WCAG compliant components
- Performance: Optimized loading and caching strategies
- Node.js 18+ and npm
- MongoDB instance (local or cloud)
- Redis server
- AWS S3 bucket (for file storage)
- Environment variables (see .env.example)
-
Clone the repository
git clone https://github.com/deekshith-b48/poligap-kroolo.git cd poligap-kroolo -
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env.local # Edit .env.local with your configuration -
Run the development server
npm run dev # or with Turbopack for faster builds npm run dev:turbo -
Open your browser Navigate to http://localhost:3000
Create a .env.local file with the following variables:
# Database
MONGODB_URI=mongodb://localhost:27017/poligap
REDIS_URL=redis://localhost:6379
# Authentication
PROPELAUTH_API_KEY=your_propelauth_api_key
PROPELAUTH_VERIFIER_KEY=your_verifier_key
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=your_nextauth_secret
# AWS S3
AWS_ACCESS_KEY_ID=your_aws_access_key
AWS_SECRET_ACCESS_KEY=your_aws_secret_key
AWS_REGION=us-east-1
AWS_S3_BUCKET=your-s3-bucket-name
# AI Services
GOOGLE_GEMINI_API_KEY=your_gemini_api_key
PORTKEY_API_KEY=your_portkey_api_key
# Application
NODE_ENV=developmentnpm run dev- Start development servernpm run dev:turbo- Start development server with Turbopacknpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLintnpm run type-check- Run TypeScript type checking
docker build -t poligap-kroolo .docker run -p 3000:3000 --env-file .env.local poligap-krooloThe project includes Kubernetes manifests for different environments:
kubectl apply -f k8s/qa-enterprise-search-manifest/kubectl apply -f k8s/prod-enterprise-search-manifest/- Data Encryption: All data encrypted in transit and at rest
- RBAC: Role-based access control with granular permissions
- Input Validation: Comprehensive validation using Zod schemas
- CSRF Protection: Built-in CSRF protection
- Rate Limiting: API rate limiting and abuse prevention
- Audit Logging: Comprehensive audit trails for compliance
- Code Splitting: Automatic code splitting with Next.js
- Image Optimization: Next.js Image component with optimization
- Caching Strategy: Multi-layer caching (Redis, browser, CDN)
- Bundle Analysis: Webpack bundle analyzer integration
- Performance Monitoring: Built-in performance metrics
- 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 proprietary software developed by Kroolo. All rights reserved.
For support and questions:
- π§ Email: support@kroolo.com
- π Documentation: docs.kroolo.com
- π Issues: GitHub Issues
- Built with β€οΈ by the Kroolo team
- Powered by Next.js and React
- UI components by Radix UI
- Styling by Tailwind CSS
- AI capabilities by Google Gemini
Made with π by Kroolo - Empowering businesses with AI-driven compliance solutions.