19 KiB
eProjektant Wastpol - Development Roadmap
Last Updated: January 16, 2026
Version: 0.1.1
Status: Production-Ready Foundation
📊 Current Application Status
eProjektant Wastpol is a comprehensive, enterprise-grade project management system for construction and design projects. The application has evolved significantly and now includes production-ready features across all core areas.
✅ Completed Features (v0.1.1)
Core Business Logic
- ✅ Project Management - Full CRUD with lifecycle tracking (registered → in_progress → fulfilled)
- ✅ Contract Management - Customer contracts with multi-project support
- ✅ Task System - Template-based tasks, task sets, custom tasks per project
- ✅ Task Sets - Pre-configured task groups for quick project setup
- ✅ Contact Management - Full contact database with project relationships
- ✅ Notes System - Project and task notes with markdown support, system-generated notes
- ✅ File Attachments - Generic file system for contracts, projects, and tasks (10MB limit)
Advanced Features
- ✅ Document Generation - DOCX template system with variable substitution
- ✅ GIS Integration - Leaflet maps with 8 base layers and 6 overlay layers (Polish geoportal)
- ✅ CardDAV Sync - Bi-directional contact sync with Radicale
- ✅ Route Planning - Route optimization for project locations
- ✅ Notification System - In-app notifications (6 types, 4 priority levels)
- ✅ Field History Tracking - Audit trail for critical field changes
- ✅ Automated Backups - Daily database backups (keeps last 30)
- ✅ Due Date Reminders - Automated notifications 3 days and 1 day before deadlines
- ✅ Excel Export - Projects export grouped by status
- ✅ Cron Job Management - Admin interface for scheduled tasks
Security & Authentication
- ✅ NextAuth.js v5 - Modern authentication with credentials provider
- ✅ 5-Role System - Admin, Project Manager, Team Lead, User, Read Only
- ✅ Account Security - Account lockout after 5 failed attempts (15-min lock)
- ✅ Password Hashing - bcryptjs with salt
- ✅ Session Management - Secure SQLite session store
- ✅ Route Protection - Middleware-based authentication
- ✅ API Authorization - Per-route auth middleware (withReadAuth, withUserAuth, withAdminAuth)
- ✅ Password Reset Tokens - Database table ready (UI pending)
- ✅ Audit Logging - Comprehensive tracking of all user actions
- ✅ Input Validation - Zod schemas for all inputs
- ✅ Failed Login Tracking - IP address and user agent logging
UI/UX
- ✅ Dark/Light Theme - User-selectable with system preference detection
- ✅ Responsive Design - Mobile-first, optimized for all screen sizes
- ✅ 40+ Components - Reusable component library
- ✅ Internationalization - Polish and English (1200+ translation keys)
- ✅ Advanced Search - Real-time search with filters (status, type, customer, assigned user)
- ✅ Loading States - Skeletons, spinners, progress indicators
- ✅ Toast Notifications - Non-intrusive user feedback
- ✅ Badge System - Color-coded status indicators
- ✅ Modal Dialogs - Clean form interfaces
- ✅ Drag & Drop - File upload with drag-and-drop
Infrastructure
- ✅ Docker Deployment - Multi-stage builds with git-based deployment
- ✅ SQLite Database - Auto-initializing with migration system
- ✅ 60+ API Endpoints - RESTful API with consistent structure
- ✅ Database Indexes - Performance optimization for common queries
- ✅ Error Handling - Try-catch blocks with user-friendly messages
- ✅ Environment Config - .env support for all configurations
- ✅ Cron Integration - Linux cron for scheduled tasks
- ✅ Volume Persistence - Data, uploads, templates, backups
Testing & Documentation
- ✅ Testing Framework - Jest, Playwright, Testing Library configured
- ✅ E2E Tests - Project workflow tests implemented
- ✅ Comprehensive README - Full documentation with examples
- ✅ API Documentation - Inline documentation in README
- ✅ Code Structure Docs - Detailed project structure documentation
🎯 High Priority Features (Next 3 Months)
🔐 1. Enhanced Security (Weeks 1-2)
Status: Security foundations complete, need additional hardening
Completed: ✅ Authentication, Authorization, Audit Logging, Input Validation
Remaining:
- CSRF protection middleware
- Rate limiting for API endpoints (rate-limiter-flexible)
- Security headers (helmet.js or custom middleware)
- Sanitization for user-generated content (DOMPurify)
- API key authentication for external integrations
- Two-factor authentication (2FA) support
Estimated Time: 2 weeks
Impact: HIGH - Critical for production security
📊 2. Advanced Reporting & Analytics (Weeks 3-6)
Status: Libraries installed, basic stats done, need full UI
Completed: ✅ Recharts, jsPDF, ExcelJS, basic dashboard, Excel export
Remaining:
- Interactive Gantt charts for project timelines
- Budget vs. actual spend tracking and reports
- Task completion analytics dashboard
- Project performance metrics (on-time %, cost overruns)
- Custom report builder with filters
- PDF report generation with charts
- Financial reports by contract/project
- Resource utilization reports
- Export to multiple formats (PDF, Excel, CSV)
Estimated Time: 3-4 weeks
Impact: HIGH - Core business need
📧 3. Email Integration (Weeks 7-8)
Status: Password reset table exists, no email sending
Completed: ✅ Password reset token schema
Remaining:
- SMTP configuration (Nodemailer)
- Email templates (HTML/Text)
- Password reset flow UI
- Email verification for new users
- Project deadline reminders via email
- Task assignment notifications via email
- Daily/weekly digest emails
- Email preferences per user
- Email queue for bulk sending
Estimated Time: 2 weeks
Impact: HIGH - Essential for user management and notifications
📱 4. Progressive Web App (PWA) (Weeks 9-10)
Status: Responsive design complete, no PWA features
Completed: ✅ Responsive UI, mobile-optimized
Remaining:
- Service worker implementation
- App manifest (manifest.json)
- Offline functionality for viewing data
- Install prompt for mobile devices
- Push notification support (optional)
- Offline data sync strategy
- App icons for different platforms
Estimated Time: 2 weeks
Impact: MEDIUM - Enhances mobile experience
🚀 Medium Priority Features (Months 4-6)
🔗 5. External Integrations & API
Status: Internal API complete, no external integrations
Remaining:
- REST API documentation (Swagger/OpenAPI)
- API versioning (/api/v1/)
- Webhook system for external notifications
- Integration with accounting software (optional)
- Integration with CRM systems (optional)
- OAuth2 provider for third-party apps
- API rate limiting per client
- API key management UI
Estimated Time: 3-4 weeks
Impact: MEDIUM - Expands system capabilities
📋 6. Enhanced Project Management
Status: Basic tracking complete, missing advanced features
Completed: ✅ Basic project CRUD, task tracking, status management
Remaining:
- Gantt chart visualization (react-gantt-timeline or similar)
- Project dependencies and critical path
- Milestone tracking with visual timeline
- Resource allocation and workload management
- Project templates (save project as template)
- Budget tracking per project with variance analysis
- Time tracking for tasks
- Project cloning functionality
- Bulk operations (status updates, assignments)
Estimated Time: 4-5 weeks
Impact: MEDIUM - Professional project management features
⚡ 7. Performance & Scalability
Status: Good for current load, optimization needed for scale
Completed: ✅ Database indexes on key fields
Remaining:
- Redis caching layer for sessions and frequent queries
- Image optimization and lazy loading
- Virtual scrolling for large lists
- Pagination for all list views
- Database query optimization analysis
- Background job processing (Bull/BullMQ)
- CDN integration for static assets
- Database connection pooling
- Response compression (gzip)
- Client-side caching strategy
Estimated Time: 3 weeks
Impact: MEDIUM - Needed as data grows
🧪 8. Comprehensive Testing
Status: Framework set up, minimal test coverage
Completed: ✅ Jest, Playwright, Testing Library configured, basic E2E tests
Remaining:
- Unit tests for all lib functions (target: 80% coverage)
- Integration tests for all API endpoints
- Component tests for all React components
- E2E tests for critical user flows (login, create project, assign task)
- Performance testing (load testing)
- Accessibility testing (axe-core, WCAG compliance)
- Visual regression testing (Percy/Chromatic)
- CI/CD pipeline integration
- Automated test runs on PR
Estimated Time: 4-5 weeks
Impact: MEDIUM - Quality assurance
📌 Low Priority / Nice-to-Have (Months 6+)
🎨 9. Advanced UI/UX
Status: Functional and clean, room for polish
Completed: ✅ Dark/light theme, responsive design, component library
Remaining:
- Customizable color themes per user
- Keyboard shortcuts and navigation
- Accessibility improvements (ARIA labels, focus management)
- Animation and micro-interactions
- Better empty states with illustrations
- Improved error messages with helpful actions
- Onboarding tour for new users
- Customizable dashboard widgets
Estimated Time: 3-4 weeks
Impact: LOW - Polish and user experience
🔍 10. Advanced Search
Status: Basic search working, can be enhanced
Completed: ✅ Real-time search with filters
Remaining:
- Full-text search across all entities (FTS5 in SQLite)
- Saved search queries per user
- Search autocomplete with suggestions
- Global search (Cmd+K interface)
- Search history
- Advanced filters (date ranges, custom fields)
- Search results highlighting
Estimated Time: 2-3 weeks
Impact: LOW - User convenience
📝 11. Documentation & Help
Status: README complete, no in-app help
Completed: ✅ Comprehensive README, API documentation, project structure docs
Remaining:
- In-app help system with tooltips
- User manual (PDF/Web)
- Video tutorials for common tasks
- FAQ section
- Changelog page
- Developer documentation
- API usage examples
- Troubleshooting guide
Estimated Time: 3 weeks
Impact: LOW - User support
🚀 12. DevOps & Monitoring
Status: Docker deployed, basic logging
Completed: ✅ Docker multi-stage builds, docker-compose, git-based deployment
Remaining:
- CI/CD pipeline (GitHub Actions/GitLab CI)
- Automated deployment to staging/production
- Health check endpoints
- Application monitoring (Prometheus/Grafana)
- Error tracking (Sentry)
- Log aggregation (ELK/Loki)
- Uptime monitoring
- Performance monitoring (APM)
- Automated database migrations on deploy
- Blue-green deployment strategy
Estimated Time: 4 weeks
Impact: LOW - Operations maturity
📅 Implementation Roadmap
Phase 1: Security & Critical Features (Months 1-2)
Week 1-2: Security Hardening
- CSRF protection middleware
- Rate limiting implementation
- Security headers
- Content sanitization
Week 3-6: Reporting & Analytics
- Gantt chart component
- Budget tracking UI
- Task analytics dashboard
- PDF report generation
- Custom report builder
Week 7-8: Email System
- SMTP setup and configuration
- Email templates (password reset, notifications)
- Password reset flow UI
- Email notification preferences
Deliverable: Production-secure system with comprehensive reporting
Phase 2: User Experience & Performance (Months 3-4)
Week 9-10: Progressive Web App
- Service worker setup
- App manifest
- Offline caching strategy
- Install prompts
Week 11-13: Performance Optimization
- Redis caching layer
- Pagination implementation
- Image optimization
- Query optimization
- Background job processing
Week 14-16: Testing Coverage
- Unit tests for lib functions
- API endpoint tests
- Component tests
- E2E test expansion
- CI/CD integration
Deliverable: Fast, mobile-ready app with solid test coverage
Phase 3: Professional Features (Months 5-6)
Week 17-20: Advanced Project Management
- Gantt chart timeline view
- Project templates
- Resource allocation
- Milestone tracking
- Project dependencies
Week 21-23: External Integrations
- API documentation (Swagger)
- Webhook system
- API versioning
- Third-party integration framework
Week 24-26: Polish & Documentation
- UI/UX improvements
- In-app help system
- User manual
- Video tutorials
Deliverable: Enterprise-ready system with external integration capabilities
🎯 Immediate Next Steps (This Month)
Week 1-2: Security Hardening
-
CSRF Protection
- Install
csurfor implement custom CSRF middleware - Add CSRF tokens to all forms
- Configure CSRF validation for POST/PUT/DELETE
- Install
-
Rate Limiting
- Install
express-rate-limitorrate-limiter-flexible - Apply to login endpoints (prevent brute force)
- Apply to API routes (prevent abuse)
- Configure different limits for authenticated vs. unauthenticated
- Install
-
Security Headers
- Install
helmetor implement custom headers - Configure CSP (Content Security Policy)
- Add X-Frame-Options, X-Content-Type-Options
- HSTS for HTTPS
- Install
-
Content Sanitization
- Install
DOMPurifyfor client-side - Sanitize user input in notes and descriptions
- Prevent XSS in markdown rendering
- Install
📊 Feature Completion Status
| Category | Completion | Priority | Next Steps |
|---|---|---|---|
| Core Business Logic | 95% ✅ | - | Minor enhancements |
| Authentication & Security | 80% 🟨 | HIGH | CSRF, rate limiting, headers |
| Notifications | 90% ✅ | MEDIUM | Email integration |
| File Management | 100% ✅ | - | Complete |
| GIS/Mapping | 100% ✅ | - | Complete |
| Reporting | 40% 🟥 | HIGH | Advanced reports, Gantt charts |
| Testing | 30% 🟥 | MEDIUM | Expand test coverage |
| Documentation | 90% ✅ | LOW | In-app help |
| Performance | 70% 🟨 | MEDIUM | Caching, optimization |
| Mobile/PWA | 60% 🟨 | MEDIUM | Service workers, offline |
| Integrations | 20% 🟥 | LOW | API docs, webhooks |
Legend: ✅ Complete (80%+) | 🟨 In Progress (50-79%) | 🟥 Needs Work (<50%)
🔧 Technology Stack & Recommendations
Currently Implemented ✅
- Next.js 15.1 - App Router, React 19
- SQLite - better-sqlite3 with auto-migrations
- NextAuth.js v5 - Authentication with 5 roles
- Tailwind CSS - Styling with dark/light themes
- Zod - Input validation
- bcryptjs - Password hashing
- Leaflet - Maps with Proj4
- Recharts - Charts (underutilized)
- jsPDF - PDF generation (underutilized)
- ExcelJS - Excel export
- Docxtemplater - DOCX generation
- date-fns - Date handling
- Jest + Playwright - Testing frameworks
Recommended Additions
- helmet or custom middleware - Security headers
- rate-limiter-flexible - API rate limiting
- DOMPurify - XSS prevention
- Nodemailer - Email sending
- Redis - Caching layer (optional, for scale)
- Bull/BullMQ - Background job processing (optional)
- Swagger/OpenAPI - API documentation
- Sentry - Error tracking (production)
- MSW - API mocking for tests
- Storybook - Component documentation (optional)
Not Recommended (Keep Simple)
- Prisma - Current SQLite + migrations work well
- TypeScript - JSDoc provides type hints, migration not urgent
- GraphQL - REST API sufficient for current needs
- Microservices - Monolith appropriate for current scale
💡 Current Strengths
- ✅ Production-Ready Foundation - Core features complete and tested
- ✅ Comprehensive Security - Authentication, authorization, audit logging
- ✅ Well-Structured Codebase - Clear separation of concerns, modular
- ✅ Modern Tech Stack - Latest Next.js, React 19, Tailwind CSS
- ✅ Enterprise Features - Multi-role system, notifications, file management
- ✅ Polish Localization - Full i18n with 1200+ translations
- ✅ GIS Integration - Advanced mapping with Polish cadastral data
- ✅ Automated Workflows - Cron jobs, backups, reminders
- ✅ Docker Deployment - Production-ready containerization
- ✅ Extensible Architecture - Easy to add features
- ✅ Comprehensive Documentation - README, API docs, project structure
- ✅ Professional UI - Clean, responsive, accessible
📈 Estimated Development Timeline
Minimum Production Deployment (Current State)
Status: ✅ READY NOW
- All core features implemented
- Security foundations in place
- Docker deployment ready
- Recommended: Add CSRF + rate limiting before production
Enhanced Security & Reporting
Timeline: 6-8 weeks
Features: CSRF, rate limiting, Gantt charts, advanced reports, email
Full Professional System
Timeline: 12-16 weeks
Features: + PWA, performance optimization, testing, integrations
Enterprise-Grade Application
Timeline: 20-26 weeks
Features: + Advanced project management, monitoring, comprehensive tests
Timelines based on 1 full-time developer. Team development reduces by 40-60%.
🎯 Success Metrics
Current Metrics (v0.1.1)
- ✅ 60+ API endpoints
- ✅ 40+ React components
- ✅ 5 user roles with granular permissions
- ✅ 1200+ i18n translation keys
- ✅ 14 database tables with relationships
- ✅ 8 map base layers + 6 overlays
- ✅ 6 notification types
- ✅ 100% database migration coverage
- ⚠️ ~15% test coverage (needs improvement)
Target Metrics (v0.2.0)
- 80%+ test coverage
- <2s average page load
- <100ms API response time
- 100% API documentation coverage
- A+ security grade (Mozilla Observatory)
- WCAG 2.1 AA compliance
- PWA installability
📞 Questions & Decisions Needed
- Email Provider: Which SMTP service? (SendGrid, AWS SES, self-hosted?)
- Error Tracking: Implement Sentry or similar?
- Caching Strategy: Add Redis or stick with in-memory?
- CI/CD Platform: GitHub Actions, GitLab CI, or other?
- Monitoring: Self-hosted (Prometheus) or SaaS (DataDog)?
- Database: Stick with SQLite or migrate to PostgreSQL for scale?
- TypeScript: Migrate from JSDoc or keep as-is?
Version 0.1.1 Status: Production-ready foundation with room for enhancement
Next Major Version (0.2.0): Security hardening + Advanced reporting
Version 1.0.0 Target: Q2 2026 - Full professional system