{"id":34054777,"url":"https://github.com/paulkokos/project-management-dashboard","last_synced_at":"2026-04-02T03:19:34.095Z","repository":{"id":323927117,"uuid":"1089854659","full_name":"paulkokos/project-management-dashboard","owner":"paulkokos","description":"A comprehensive project management dashboard with real-time collaboration, task tracking, and team management features","archived":false,"fork":false,"pushed_at":"2026-02-11T18:55:00.000Z","size":1623,"stargazers_count":2,"open_issues_count":1034,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-18T13:08:00.033Z","etag":null,"topics":["collaboration","dashboard","django","project-management","react","real-time","task-tracking","team-management","websocket"],"latest_commit_sha":null,"homepage":"https://github.com/paulkokos/project-management-dashboard","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/paulkokos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":"docs/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-04T22:48:41.000Z","updated_at":"2025-11-17T11:36:22.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/paulkokos/project-management-dashboard","commit_stats":null,"previous_names":["paulkokos/project-management-dashboard"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/paulkokos/project-management-dashboard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paulkokos%2Fproject-management-dashboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paulkokos%2Fproject-management-dashboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paulkokos%2Fproject-management-dashboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paulkokos%2Fproject-management-dashboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/paulkokos","download_url":"https://codeload.github.com/paulkokos/project-management-dashboard/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paulkokos%2Fproject-management-dashboard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31295054,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T01:43:37.129Z","status":"online","status_checked_at":"2026-04-02T02:00:08.535Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["collaboration","dashboard","django","project-management","react","real-time","task-tracking","team-management","websocket"],"created_at":"2025-12-14T02:27:00.060Z","updated_at":"2026-04-02T03:19:34.082Z","avatar_url":"https://github.com/paulkokos.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Project Management Dashboard\n\nA comprehensive full-stack project management application with real-time updates, advanced filtering, and modern infrastructure.\n\n## Project Overview\n\nThis project implements a complete project management system with the following features:\n\n### Task 1A: Web Application\n- **Frontend**: React-based SPA with responsive design\n- **Backend**: Django REST API with Python\n- **Features**:\n  - Project CRUD with pagination, sorting, and filtering\n  - Soft delete with recovery\n  - Real-time updates via WebSocket\n  - Free-text search with full-text indexing\n  - Bulk operations with optimistic concurrency\n  - Project detail views with team roster and milestones\n  - Activity tracking and events\n\n### Task 1B: Deployment\n- Nginx-based deployment configuration\n- SSL/TLS support\n- Load balancing ready\n\n### Task 2: CI/CD Pipeline\n- GitHub Actions for version control and automation\n- Jenkins integration ready\n- Automated testing and deployment\n\n### Task 3A: Containerization\n- Docker \u0026 Docker Compose setup\n- Kubernetes manifests (K8s)\n- Container registry ready\n\n### Task 3B: Package Publishing\n- Frontend components packaged for NPM\n- Backend utilities packaged for PIP\n\n## Project Structure\n\n```\n.\n├── backend/                 # Django REST API\n│   ├── manage.py\n│   ├── requirements.txt\n│   ├── config/              # Django settings\n│   ├── projects/            # Projects app (models, views, serializers)\n│   ├── core/                # Core utilities\n│   ├── websocket_service/   # Real-time updates\n│   └── tests/\n├── frontend/                # React SPA\n│   ├── src/\n│   ├── public/\n│   ├── package.json\n│   └── .env.example\n├── deployment/\n│   ├── docker/              # Docker configurations\n│   ├── nginx/               # Nginx configurations\n│   └── k8s/                 # Kubernetes manifests\n├── ci-cd/\n│   ├── github/              # GitHub Actions workflows\n│   └── jenkins/             # Jenkins pipeline\n├── packages/\n│   ├── frontend/            # NPM-ready components\n│   └── backend/             # PIP-ready utilities\n├── docs/                    # Documentation\n├── docker-compose.yml       # Local development setup\n└── README.md\n```\n\n## Quick Start\n\n### Prerequisites\n- Python 3.11+\n- Node.js 22+\n- npm 10.0.0+ (compatible with CI/CD environments)\n- Docker 28.5.1+\n- Docker Compose 2.33.1+\n- (Optional) Kubernetes cluster or kind\n\n### Local Development\n\n#### Option 1: Docker Compose (Recommended)\n```bash\n# Development environment with hot reload\ndocker-compose -f docker-compose.dev.yml up\n\n# Access:\n# Frontend: http://localhost:5173\n# Backend: http://localhost:8000\n# API Docs: http://localhost:8000/api/docs/\n```\n\n#### Option 2: Manual Setup\n1. Clone the repository and navigate to the project:\n```bash\ncd project-management-dashboard\n```\n\n2. Set up backend:\n```bash\ncd backend\npython -m venv venv\nsource venv/bin/activate  # Windows: venv\\Scripts\\activate\npip install -r requirements.txt\npython manage.py migrate\npython manage.py runserver 0.0.0.0:8000\n```\n\n3. Set up frontend (new terminal):\n```bash\ncd frontend\nnpm install\nnpm run dev\n```\n\n#### Option 3: Production Docker Build\n```bash\ndocker-compose up --build\n```\n\n#### Option 4: Kubernetes Deployment on Docker Desktop\n```bash\n# Docker Desktop Kubernetes must be enabled\n# See docs/DOCKER_DESKTOP_DEPLOYMENT.md for complete setup\n\n# 1. Install Helm and add repos\nhelm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx\nhelm repo add jetstack https://charts.jetstack.io\nhelm repo update\n\n# 2. Install Nginx Ingress Controller\nhelm install nginx-ingress ingress-nginx/ingress-nginx \\\n  --namespace ingress-nginx --create-namespace \\\n  --set controller.service.type=LoadBalancer --wait\n\n# 3. Install cert-manager\nhelm install cert-manager jetstack/cert-manager \\\n  --namespace cert-manager --create-namespace \\\n  --set installCRDs=true --wait\n\n# 4. Build Docker images\ndocker build -f deployment/docker/Dockerfile.backend -t project-dashboard-backend:latest .\ndocker build -f deployment/docker/Dockerfile.frontend -t project-dashboard-frontend:latest .\n\n# 5. Create namespace and deploy\nkubectl create namespace project-dashboard\nkubectl apply -f deployment/k8s/configmap.yaml\nkubectl apply -f deployment/k8s/secret.yaml\nkubectl apply -f deployment/k8s/postgres.yaml\nkubectl apply -f deployment/k8s/redis.yaml\nkubectl apply -f deployment/k8s/backend.yaml\nkubectl apply -f deployment/k8s/frontend.yaml\nkubectl apply -f deployment/k8s/ingress.yaml\n\n# 6. Verify deployment\nkubectl get pods -n project-dashboard -w\n\n# Access application\n# Frontend: http://localhost\n# Backend:  http://localhost/api\n# Admin:    http://localhost/admin\n```\n\n**For detailed deployment instructions, see [docs/DOCKER_DESKTOP_DEPLOYMENT.md](docs/DOCKER_DESKTOP_DEPLOYMENT.md)**\n\n## Technology Stack\n\n### Backend\n- **Django 5.1.3**: Web framework\n- **Django REST Framework 3.14.0**: API framework\n- **PostgreSQL 15-alpine**: Primary database\n- **Celery 5.4.0**: Async task queue\n- **Django Channels 4.1.0**: WebSocket support\n- **Daphne 4.1.2**: ASGI server\n- **Python 3.11**: Runtime\n\n### Frontend\n- **React 19.0.0**: UI framework with latest JSX transform\n- **TypeScript 5.7.2**: Type safety\n- **Vite 7.1.0+**: Build tool and dev server\n- **Axios 1.7.7**: HTTP client with interceptor support\n- **React Query 5.55.0**: Data fetching and caching\n- **Zustand 5.0.1**: State management\n- **Tailwind CSS 4.0.1**: Styling framework\n- **Native WebSocket API**: Real-time updates (no Socket.IO framework)\n- **Node.js 22+**: Runtime (LTS)\n- **npm 10.0.0+**: Package manager\n\n### Code Quality\n- **ESLint 9.16.0**: JavaScript linting\n- **TypeScript ESLint 8.16.0**: TypeScript linting\n- **Prettier 3.3.3**: Code formatting\n- **Pytest 8.0.2**: Python testing\n- **Vitest 4.0.1**: Frontend testing\n\n### DevOps\n- **Docker 28.5.1**: Containerization\n- **Docker Compose 3.9**: Local orchestration\n- **Kubernetes (kind)**: Container orchestration\n- **Redis 7-alpine**: Caching and message broker\n- **PostgreSQL 15-alpine**: Full-text search capability\n- **GitHub Actions**: CI/CD\n- **Jenkins**: Alternative CI/CD\n\n## Features Documentation\n\n### 1. Project Management\n- Full CRUD operations\n- Pagination, sorting, filtering\n- Soft delete with recovery\n- Status tracking (Active, Archived, On Hold, Completed)\n- Health indicators (Healthy, At Risk, Critical)\n\n### 2. Advanced Search\n- Full-text search across project titles, descriptions, and tags using Elasticsearch\n- Elasticsearch integration via django-haystack for production-grade search\n- Faceted search with filtering by status, health, and owner\n- Real-time search suggestions and autocomplete\n- Search results pagination and relevance-based ranking\n\n### 3. Real-Time Updates\n- WebSocket connection management\n- Incremental updates to all connected clients\n- Activity event streaming\n- Progress updates\n\n### 4. Bulk Operations\n- Atomic status/tag updates\n- Optimistic concurrency control (ETags)\n- Transactional consistency\n\n### 5. Team \u0026 Milestones\n- Team roster with roles and capacity\n- Milestone tracking with progress calculations\n- Activity history\n\n## Documentation\n\n### Project Overview\n- **[IMPLEMENTATION_STATUS.md](docs/IMPLEMENTATION_STATUS.md)** - Complete implementation status and feature coverage\n- **[PROJECT_CARD_REQUIREMENTS.md](docs/PROJECT_CARD_REQUIREMENTS.md)** - Project card requirements analysis\n\n### Getting Started\n- **[SETUP_GUIDE.md](docs/SETUP_GUIDE.md)** - Complete setup instructions for local and Docker environments\n- **[DEVELOPMENT_GUIDE.md](docs/DEVELOPMENT_GUIDE.md)** - Backend and frontend development workflows\n\n### Deployment\n- **[DOCKER_DESKTOP_DEPLOYMENT.md](docs/DOCKER_DESKTOP_DEPLOYMENT.md)** - Complete K8s deployment guide for Docker Desktop\n- **[DEPLOYMENT_STATUS.md](docs/DEPLOYMENT_STATUS.md)** - Current deployment status and next steps\n- **[INFRASTRUCTURE_SUMMARY.md](docs/INFRASTRUCTURE_SUMMARY.md)** - Infrastructure and deployment overview\n\n### Features \u0026 API\n- **[SEARCH_GUIDE.md](docs/SEARCH_GUIDE.md)** - Elasticsearch full-text search implementation and API\n- **[FRONTEND_SEARCH_GUIDE.md](docs/FRONTEND_SEARCH_GUIDE.md)** - Frontend search UI components and implementation\n- **[SEARCH_IMPLEMENTATION_SUMMARY.md](docs/SEARCH_IMPLEMENTATION_SUMMARY.md)** - Complete search feature overview\n\n### Packages \u0026 Reusable Components\n- **[PACKAGES.md](docs/PACKAGES.md)** - Complete guide to NPM and PyPI packages\n  - **@paulkokos/search-components** - React search UI components (NPM)\n  - **@paulkokos/ui-components** - Dashboard UI components (NPM)\n  - **project-management-search-utils** - Django search utilities (PyPI)\n\n### Testing \u0026 Code\n- **[TESTING_GUIDE.md](docs/TESTING_GUIDE.md)** - Test suite documentation (300+ tests)\n- **[TEST_EXECUTION_GUIDE.md](docs/TEST_EXECUTION_GUIDE.md)** - Quick reference for running tests\n- **[CODE_DOCUMENTATION.md](docs/CODE_DOCUMENTATION.md)** - Deep code architecture and design\n\n## Environment Setup\n\nSee `.env.example` files in backend and frontend directories for configuration options.\n\n## Deployment\n\n### Development\n```bash\n# With hot reload for frontend and backend\ndocker-compose -f docker-compose.dev.yml up\n\n# Accessible at:\n# - Frontend: http://localhost:5173\n# - Backend: http://localhost:8000\n# - API Docs: http://localhost:8000/api/docs/\n```\n\n### Production\n```bash\n# Production build with optimizations\ndocker-compose up --build\n\n# Accessible at:\n# - Frontend: http://localhost:3000\n# - Backend: http://localhost:8000\n# - API Docs: http://localhost:8000/api/docs/\n```\n\n**Note**: See `deployment/` directory for detailed production configurations including:\n- Nginx reverse proxy setup\n- SSL/TLS configuration\n- Kubernetes manifests\n- Load balancing setup\n\n## API Documentation\n\nAPI documentation available at `/api/docs/` when backend is running.\n\n## Contributing\n\n1. Create feature branches\n2. Follow code style guidelines\n3. Add tests for new features\n4. Update documentation\n\n## Corners Cut \u0026 Production Considerations\n\nSee `docs/CORNERS_CUT.md` for details on what was simplified for this MVP and what would be enhanced for production.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaulkokos%2Fproject-management-dashboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpaulkokos%2Fproject-management-dashboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaulkokos%2Fproject-management-dashboard/lists"}