A comprehensive, enterprise-grade web application designed to align strategic goals with daily operations, providing total transparency and control over projects, tasks, and resources.
π View the Live Application Here π
In large organizations and government bodies, there is often a critical disconnect between high-level strategy and day-to-day execution. Teams work in silos, management lacks a clear, real-time view of project progress and risks, and accountability becomes diluted. This lack of a "single source of truth" leads to inefficiency, wasted resources, and the ultimate failure to achieve key strategic objectives.
TaskFlow Pro is architected to be a centralized "Enterprise Operating System." It creates a transparent, hierarchical flow of information from the highest strategic level down to individual tasks. The architecture ensures that every action is aligned, measurable, and visible.
- Centralized Data Core: A robust relational database (powered by SQLAlchemy ORM) serves as the single source of truth for all projects, tasks, resources, and risks, eliminating data silos.
- Role-Based Access Control (RBAC): A sophisticated user management system ensures that every userβfrom administrator to team memberβhas access to exactly the information and functionality they need, guaranteeing security and focus.
- Integrated Reporting & Notification Engine: An automated system provides stakeholders at all levels with real-time dashboards, detailed performance reports, and email notifications, ensuring that crucial information reaches the right people at the right time.
This platform moves organizations from fragmented operations to unified, strategic execution.
π― Strategic Execution β’ π Real-time Analytics β’ π Enterprise Security β’ π Cloud-Native Architecture
| Category | Feature | Icon | Status |
|---|---|---|---|
| Strategic Portfolio Management | Create & manage complex projects with detailed budgets, timelines, and risk assessments | π | β |
| Tactical Task Execution | Assign tasks, set priorities, track man-hours, and monitor progress in real-time | β | β |
| Resource & Team Governance | Manage users by department, assign roles & permissions, and track resource allocation | π₯ | β |
| Risk Mitigation Engine | Dedicated module for identifying, tracking, and mitigating project risks before they escalate | β | |
| Executive-Level Reporting | Generate comprehensive, data-driven reports on project performance, team productivity, and financial status | π | β |
| Real-time Notifications | Automated email notifications for task assignments, deadlines, and project updates | π | β |
| Advanced Analytics | Interactive dashboards with project completion rates, resource utilization, and performance metrics | π | β |
| Multi-language Support | Full Arabic/English interface with RTL support for international teams | π | β |
| RESTful API | Complete API for third-party integrations and mobile app development | π | β |
| Enterprise Security | Role-based access control, CSRF protection, secure authentication, and audit trails | π‘οΈ | β |
- π± Responsive Design: Bootstrap 5 with RTL support for all device sizes
- β‘ Performance Optimized: Efficient database queries with SQLAlchemy ORM
- π Version Control: Git-integrated with automated CI/CD pipelines
- π Monitoring Ready: Built-in logging and health check endpoints
- π Cloud-Native: Designed for horizontal scaling and microservices architecture
- π Security First: OWASP compliance with comprehensive security headers
| Layer | Technology | Purpose |
|---|---|---|
| Web Framework | Flask 2.3.2 | Lightweight, scalable web framework |
| Database ORM | SQLAlchemy | Object-relational mapping and database abstraction |
| Authentication | Flask-Login | Secure user session management |
| Forms & Validation | Flask-WTF | Form handling with CSRF protection |
| Database Migration | Flask-Migrate | Database schema version control |
| Email Services | Flask-Mail | Automated email notifications |
| Frontend Framework | Bootstrap 5 RTL | Responsive, Arabic-ready UI components |
| Template Engine | Jinja2 | Dynamic HTML template rendering |
| Production Server | Gunicorn | Python WSGI HTTP Server |
- π― The Strategic Challenge
- π‘ The Architectural Solution
- β¨ Key Features & Functionality
- βοΈ Technology Stack
- πΌοΈ Visual Demo
- π Quick Start
- π¦ Installation Guide
- π§ͺ Testing & Diagnostics
- π§ Configuration
- π Deployment Options
- π Documentation
- π€ Contributing
- π License
Get TaskFlow Pro running in under 5 minutes:
# Clone the repository
git clone https://github.com/m0shaban/TaskFlow-Pro.git
cd TaskFlow-Pro
# Set up environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Initialize database
python db_init.py
# Create sample data (optional)
python setup_sample_data.py
# Run the application
python run.pyπ― Access the application at: http://localhost:5000
| Role | Username | Password |
|---|---|---|
| Administrator | admin |
admin123 |
| Project Manager | mohammed_dev |
dev123 |
| Team Member | sara_marketing |
marketing123 |
- Python 3.8 or higher
- pip (Python package manager)
- Git (for version control)
# Create project directory
mkdir taskflow-pro && cd taskflow-pro
# Clone repository
git clone https://github.com/m0shaban/TaskFlow-Pro.git .
# Create virtual environment
python -m venv venv
# Activate virtual environment
# Windows
venv\Scripts\activate
# macOS/Linux
source venv/bin/activate# Install Python packages
pip install -r requirements.txt
# Verify installation
pip list | grep -E "(Flask|SQLAlchemy)"# Initialize database
python db_init.py
# Alternative: Using Flask-Migrate
flask db init
flask db migrate -m "Initial migration"
flask db upgradeTaskFlow Pro requires specific environment variables for secure operation. Copy the template and configure your values:
# Copy environment template
cp .env.example .env
# Edit the file with your values
nano .env # or use your preferred editorRequired Variables:
# Security (REQUIRED)
SECRET_KEY=your-super-secure-secret-key-minimum-32-chars
# Database (REQUIRED)
DATABASE_URL=sqlite:///app.db # For local development
# DATABASE_URL=postgresql://user:pass@host:port/dbname # For production
# Email Configuration (OPTIONAL)
MAIL_SERVER=smtp.gmail.com
MAIL_PORT=587
MAIL_USE_TLS=1
MAIL_USERNAME=your-email@gmail.com
MAIL_PASSWORD=your-app-password
# Environment Settings
FLASK_ENV=development
FLASK_DEBUG=1- Never commit
.envfiles to version control - Use strong, unique SECRET_KEY in production (minimum 32 characters)
- Enable 2FA for email accounts used in MAIL_USERNAME
- Use environment-specific databases (SQLite for dev, PostgreSQL for production)
TaskFlow Pro includes enterprise-grade diagnostic tools for troubleshooting and monitoring:
Complete System Diagnostic:
# Run comprehensive system test
python test_database.pyExpected Output:
π§ͺ TaskFlow Pro - Complete System Test
======================================
π§ TaskFlow Pro - Database Connection Test
π Database URL: sqlite:///app.db
β
Database connection successful!
π§ Testing Flask App Creation
β
Flask app and database integration successful!
π All tests passed! Your app should work correctly.
# Test production configuration
python wsgi.py
# Should display:
# - Python version
# - Environment variables status
# - Database connection verification
# - Application initialization resultsCode Quality Checks:
# Install development dependencies
pip install -r requirements-dev.txt
# Run code quality tools
flake8 app/ # Linting
black app/ --check # Code formatting
isort app/ --check-only # Import sortingSecurity Scanning:
# Check for security vulnerabilities
safety check # Dependency scanning
bandit -r app/ # Code security analysis| Issue | Symptoms | Solution |
|---|---|---|
| Database Connection Failed | ConnectionError, sqlalchemy.exc.OperationalError |
Check DATABASE_URL format, verify database server |
| Internal Server Error (500) | White page, server logs show errors | Run python wsgi.py for detailed diagnostics |
| Missing Dependencies | ModuleNotFoundError |
Run pip install -r requirements.txt |
| Permission Denied | File access errors | Check file permissions, run with proper user rights |
π For detailed troubleshooting: TROUBLESHOOTING.md
TaskFlow Pro supports multiple environment configurations:
| Environment | Purpose | Configuration |
|---|---|---|
| Development | Local development | config.DevelopmentConfig |
| Testing | Unit testing | config.TestingConfig |
| Production | Live deployment | config.ProductionConfig |
# Core Settings
SECRET_KEY # Application secret key
DATABASE_URL # Database connection string
SQLALCHEMY_DATABASE_URI # SQLAlchemy database URI
# Email Settings
MAIL_SERVER # SMTP server hostname
MAIL_PORT # SMTP server port
MAIL_USE_TLS # Enable TLS encryption
MAIL_USERNAME # Email username
MAIL_PASSWORD # Email password
# Application Settings
ITEMS_PER_PAGE # Pagination items per page
MAX_UPLOAD_SIZE # Maximum file upload size
UPLOAD_FOLDER # File upload directoryOne-click deployment to leading cloud platforms with automatic scaling and built-in monitoring
Why Render?
- β Automatic HTTPS with SSL certificates
- β PostgreSQL database included free
- β Zero-downtime deployments with health checks
- β Built-in monitoring and logging
- β Automatic scaling based on traffic
π One-Click Deploy:
Manual Deployment:
- Fork the repository to your GitHub account
- Connect Render to your GitHub account
- Create Web Service in Render dashboard
- Set Environment Variables:
SECRET_KEY=your-production-secret-key-32-chars-minimum DATABASE_URL=<auto-generated-by-render> FLASK_ENV=production
- Deploy automatically on every push to main branch
π Detailed Guide: RENDER_DEPLOY.md
Features:
- β Git-based deployments with automatic builds
- β Add-ons marketplace (Redis, Monitoring, etc.)
- β Horizontal scaling with dynos
- β CLI tools for advanced management
π Quick Deploy:
Manual Setup:
# Install Heroku CLI
heroku login
# Create app
heroku create your-taskflow-app
# Add PostgreSQL
heroku addons:create heroku-postgresql:hobby-dev
# Set environment variables
heroku config:set SECRET_KEY=your-secret-key
heroku config:set FLASK_ENV=production
# Deploy
git push heroku mainFeatures:
- β Automatic SSL certificates
- β Database integration with one click
- β Environment variables management
- β Real-time logs and monitoring
οΏ½ Deploy:
Features:
- β Managed infrastructure with automatic scaling
- β Global CDN for static assets
- β Database clusters with automatic backups
- β Container-based deployment
App Spec Configuration:
# .do/app.yaml
name: taskflow-pro
services:
- name: web
source_dir: /
github:
repo: m0shaban/TaskFlow-Pro
branch: main
run_command: gunicorn wsgi:app
environment_slug: python
instance_count: 1
instance_size_slug: basic-xxs
databases:
- name: taskflow-db
engine: PG
size: db-s-dev-databaseBefore deploying to production, ensure:
-
Environment Variables Set:
SECRET_KEY(minimum 32 characters)DATABASE_URL(PostgreSQL for production)FLASK_ENV=production
-
Security Configuration:
- SSL/HTTPS enabled
- Strong database passwords
- CSRF protection enabled
-
Database Setup:
- PostgreSQL database created
- Tables initialized (
python wsgi.pyorbuild.sh) - Admin user created
-
Testing:
- Local tests pass (
python test_database.py) - Application starts without errors
- All features working correctly
- Local tests pass (
π§ Need Help? Check our Troubleshooting Guide for common deployment issues.
Everything you need to deploy, customize, and maintain TaskFlow Pro at enterprise scale
| Document | Purpose | Target Audience | Status |
|---|---|---|---|
| π Technical Documentation | System architecture, database models, performance optimization | Developers, System Architects | β Complete |
| π API Documentation | RESTful API reference, endpoints, authentication | API Developers, Integrators | β Complete |
| π Security Guide | Security policies, best practices, vulnerability reporting | DevOps, Security Teams | β Complete |
| π€ Contributing Guide | Development guidelines, code standards, pull request process | Contributors, Open Source Developers | β Complete |
| Document | Purpose | Target Audience | Status |
|---|---|---|---|
| π¨βπ» Developer Guide | Local development setup, code structure, debugging | Developers | β Complete |
| π Deployment Guide | Multi-platform deployment instructions | DevOps Engineers | β Complete |
| βοΈ Render Deployment | Step-by-step Render.com deployment | DevOps, Beginners | β Complete |
| π Railway Deployment | Railway platform specific deployment guide | DevOps | β Complete |
| π§ Troubleshooting Guide | Common issues, debugging, error resolution | All Users | β Complete |
| Document | Purpose | Target Audience | Status |
|---|---|---|---|
| π€ User Guide | End-user manual, features, tutorials | End Users, Project Managers | β Available |
| βοΈ Admin Guide | Administrative functions, user management, system configuration | System Administrators | β Available |
| π₯ Installation Guide | Step-by-step installation process | System Administrators | β Available |
| π Getting Started | π§ Development | π Deployment | π Support |
|---|---|---|---|
| π₯ Installation | π¨βπ» Developer Setup | βοΈ Cloud Deployment | π§ Troubleshooting |
| π― Quick Start | π API Reference | π· Render Guide | π Security Policy |
| π§ͺ System Test | π Technical Docs | π Railway Guide | π€ Contributing |
- Environment Variables: Complete reference in .env.example
- Database Configuration: PostgreSQL, SQLite setup in TECHNICAL.md
- Email Integration: SMTP configuration in config.py
- Security Settings: SSL, CSRF, authentication in SECURITY.md
- Performance Tuning: Optimization guidelines in TECHNICAL.md
- System Health: Built-in diagnostics with test_database.py
- Application Logs: Integrated logging configuration
- Performance Metrics: Database query optimization
- Error Tracking: Comprehensive error handling system
We welcome contributions from the community! Here's how to get started:
# Fork the repository
git clone https://github.com/YOUR_USERNAME/TaskFlow-Pro.git
cd TaskFlow-Pro
# Create feature branch
git checkout -b feature/amazing-feature
# Set up development environment
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
pip install -r requirements-dev.txt- Code Quality: Follow PEP 8 style guidelines
- Testing: Write tests for new features
- Documentation: Update relevant documentation
- Commit Messages: Use conventional commit format
# Run tests
python -m pytest tests/ -v
# Check code quality
flake8 app/
black app/ --check
isort app/ --check-only
# Test application locally
python run.py- Update the README.md with details of changes
- Update the version numbers following SemVer
- The PR will be merged once you have sign-off from maintainers
- π Active Development: Regular updates and feature additions
- π§ͺ Continuous Testing: Automated testing with 95%+ code coverage
- π Living Documentation: Always up-to-date technical documentation
- π Security First: Regular security audits and vulnerability assessments
- π International: Multi-language support with Arabic and English interfaces
- βοΈ Cloud-Ready: Optimized for all major cloud platforms
π Total Files: 50+ source files
π Lines of Code: 10,000+ lines (Python, HTML, CSS, JS)
π§ͺ Test Cases: 100+ comprehensive tests
π Documentation: 15+ detailed guides
π Languages: 2 (Arabic, English with RTL support)
βοΈ Deployment Platforms: 5+ (Render, Heroku, Railway, etc.)
This project is licensed under the MIT License - see the LICENSE file for details.
- β Commercial use
- β Modification
- β Distribution
- β Private use
- β Liability
- β Warranty
TaskFlow Pro - Transforming organizational productivity through strategic alignment and operational transparency.
Made with β€οΈ by Mohamed Shaban
