A comprehensive complaint management system built with Next.js, designed for efficient handling and tracking of complaints with role-based access control and integrated document management.
- Role-based Access Control: Multi-level user management (Investigation Officer, DCP, ACP, Commissioner, Super Admin)
- Complaint Management: Complete complaint lifecycle from registration to resolution
- FIR Integration: Seamless FIR registration and tracking
- Document Management: File attachments with secure upload handling
- Real-time Comments: Threaded discussion system for each complaint
- Dashboard Analytics: Comprehensive overview and reporting
- PostgreSQL Database: Robust data storage with Prisma ORM
- NextAuth Authentication: Secure login and user management
- Rich Text Editor: Advanced document editing capabilities
- Frontend: Next.js 16, React 19, TypeScript
- Styling: Tailwind CSS
- Database: PostgreSQL with Prisma ORM
- Authentication: NextAuth.js
- File Upload: UploadThing
- Rich Text: Plate.js
- UI Components: Radix UI
- Deployment: Docker, nginx
Clone the repository and set up your development environment:
git clone https://github.com/jelupuru/hydraa.git
cd hydraa
npm install --legacy-peer-depsCreate your environment file:
cp .env.example .env
# Update .env with your database and other configurationsRun the development server:
npm run devOpen http://localhost:3000 in your browser.
The application uses PostgreSQL with Prisma. Set up your database:
# Run migrations
npx prisma migrate dev
# Generate Prisma client
npx prisma generate
# Seed the database (optional)
npx prisma db seedFor complete Docker setup including database, see README_DOCKER.md and AZURE_DEPLOYMENT.md.
Quick Docker setup:
# Development with database
docker compose up --build
# Production deployment
docker compose -f docker-compose.prod.yml up --build├── src/
│ ├── app/ # Next.js app directory
│ │ ├── (site)/ # Public site pages
│ │ ├── api/ # API routes
│ │ └── dashboard/ # Dashboard pages
│ ├── components/ # React components
│ │ ├── Dashboard/ # Dashboard components
│ │ └── ui/ # UI components
│ ├── lib/ # Utility libraries
│ └── utils/ # Helper functions
├── prisma/ # Database schema and migrations
├── public/ # Static assets
└── docker/ # Docker configuration files
Required environment variables:
# Database
DATABASE_URL=postgresql://username:password@localhost:5432/hydraa
# NextAuth
SECRET=your-secret-key
NEXTAUTH_URL=http://localhost:3000
# Application
NEXT_PUBLIC_SITE_URL=http://localhost:3000
SITE_NAME=HydraaDeploy to cloud platforms:
For production deployment on Azure VM with nginx, see AZURE_DEPLOYMENT.md.
Automated Docker builds are available at jelupuru/hydraa:latest.
Version 1.0.0 - Initial Release
- Complete complaint management system
- Role-based access control
- FIR integration and tracking
- Document upload and management
- Real-time commenting system
- PostgreSQL database with Prisma
- Docker deployment support
- Azure VM deployment guide
- GitHub Actions CI/CD pipeline