A comprehensive administrative dashboard for managing the ParkingDirekt platform configuration, integrations, and operations.
- System Configuration: Dynamic management of platform settings
- Financial Controls: Commission rates, fees, and revenue tracking
- Email Management: SMTP configuration and delivery monitoring
- API Controls: Rate limiting and access management
- Feature Flags: Gradual rollouts and A/B testing
- Monitoring: Real-time logs and system health metrics
- Multi-Environment Support: Production, staging, and development environments
- Audit Trail: Complete logging of all administrative actions
- Security: Role-based access control with encryption
- Scalability: Redis-based caching and distributed systems
- Integrations: Stripe, Mapbox, SendGrid, and webhooks
- Real-time Updates: WebSocket integration for live data
- Node.js 18.17.0 or higher
- PostgreSQL database
- Redis (optional, for rate limiting and caching)
- Environment configuration
-
Clone the repository
git clone <repository-url> cd parkingirekt
-
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env # Edit .env with your configuration -
Set up the database
npx prisma db push npx prisma db generate npm run db:seed
-
Start the development server
npm run dev
- URL: http://localhost:3000/dashboard/superadmin/control-center
- Super Admin Email: admin@parkingdirekt.com
- Super Admin Password: admin123
├── pages/ # Next.js pages
│ ├── api/admin/ # Admin API routes
│ ├── auth/ # Authentication pages
│ └── dashboard/superadmin/ # Control center UI
├── components/admin/ControlCenter/ # UI components
├── lib/ # Core utilities
│ ├── config.ts # Configuration management
│ ├── security/ # Encryption utilities
│ ├── email/ # Email delivery system
│ ├── featureFlags.ts # Feature flag management
│ ├── rateLimiting.ts # API rate limiting
│ └── payments/ # Payment processing
├── prisma/ # Database schema and seeds
└── styles/ # Global styles
DATABASE_URL="postgresql://username:password@localhost:5432/parkingdirekt"NEXTAUTH_URL="http://localhost:3000"
NEXTAUTH_SECRET="your-secret-key"STRIPE_SECRET_KEY="sk_test_..."
MAPBOX_API_KEY="pk_..."
SENDGRID_API_KEY="SG...."
REDIS_URL="redis://localhost:6379"SMTP_HOST="smtp.gmail.com"
SMTP_PORT=587
SMTP_USER="your-email@gmail.com"
SMTP_PASS="your-app-password"- Financial Settings: Commission rates, fees, currency
- Automation Rules: Grace periods, overstay multipliers
- Platform Controls: Maintenance mode, user registration
- Email Settings: SMTP configuration, notification preferences
- API Settings: Rate limiting, access controls
- Percentage Rollouts: Gradual feature deployment
- Targeting Rules: User-based feature enablement
- Emergency Controls: Quick disable/enable features
- Analytics: Feature usage tracking
- Audit Trail: Complete admin action logging
- System Health: Performance metrics and uptime
- Email Delivery: SMTP and webhook delivery tracking
- API Activity: Rate limiting and usage monitoring
- Role-Based Access: Super Admin and Admin roles
- Encrypted Storage: AES-256 encryption for sensitive data
- Audit Logging: Complete action trail
- Rate Limiting: Configurable API protection
- Session Management: Secure NextAuth.js integration
- Dynamic Commission: Configurable platform fees
- Multi-Currency: Support for multiple currencies
- Revenue Tracking: Complete transaction logging
- Refund Support: Automated refund processing
// Example commission calculation
const commission = await calculatePlatformFee(100.00)
// Returns: { platformFee: 10.00, ownerAmount: 90.00, commissionPercent: 10 }- Environment Configuration: Set production environment variables
- Database Migration: Run migrations in production
- Seed Data: Initialize with production configuration
- SSL Certificate: Configure HTTPS
- Monitoring: Set up logging and monitoring
NODE_ENV=production
DATABASE_URL="postgresql://..."
NEXTAUTH_URL="https://your-domain.com"
REDIS_URL="redis://..."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 typecheck # Run TypeScript checks
npm run db:push # Push database schema
npm run db:generate # Generate Prisma client
npm run db:seed # Seed database with defaults- TypeScript: Full type safety
- ESLint: Code linting and formatting
- Prisma: Type-safe database access
- Tailwind CSS: Consistent styling
- Uptime Monitoring: Application availability tracking
- Performance Metrics: Response times and error rates
- Resource Usage: Memory and CPU monitoring
- Database Health: Connection and query performance
- Revenue Tracking: Platform earnings and commissions
- User Activity: Admin actions and system usage
- Feature Adoption: Feature flag usage analytics
- Email Delivery: Campaign and notification metrics
GET/POST /api/admin/control-center/[category]- System settingsPOST /api/admin/integrations/test/[service]- Test integrationsGET /api/admin/monitoring/logs/[type]- System logsPOST /api/admin/features/[action]- Feature flag management
- All admin routes require Super Admin role
- JWT-based session management
- Secure API access with rate limiting
- Regular backups of user and configuration data
- Log rotation for audit logs
- Performance optimization for large datasets
- Zero-downtime configuration updates
- Feature flag-based gradual rollouts
- Comprehensive testing before deployment
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Open a pull request
This project is licensed under the MIT License.
For support and questions:
- Email: support@parkingdirekt.com
- Documentation: Check the inline code comments
- Issues: Create an issue in the repository
- v1.0.0: Initial release with full control center functionality
- Complete system configuration management
- Payment processing integration
- Monitoring and audit capabilities