A secure, local-first Project Management Tool for Verizon, designed to replace legacy spreadsheet-based tracking systems with a modern, high-performance desktop application.
Verizon Tracker provides:
- Role-based dashboards for Project Managers, Admins, Engineers, and Directors
- Local-first architecture using SQLite for fast, secure data management
- Automated KPI reporting with monthly scorecards and interval tracking
- Project dependency management for complex project relationships
- AI-powered assistant for intelligent insights and knowledge base queries
- Modern, Verizon-branded UI built with Streamlit and custom CSS
- Authentication System: Secure bcrypt login with role-based access control (4 roles)
- My Dashboard: PM view with editable project table, inline editing, real-time metrics
- New Project: Comprehensive form with all legacy Oracle fields and validation
- KPI Snapshots: Point-in-time metrics tracking for budget/schedule/completion
- Project Dependencies: Define and visualize project relationships
- Data Synchronization: Complete inbox/processor model with JSON bundling
- Modern UI: Professional Verizon-branded interface with custom CSS and animations
- All Projects View: Advanced filtering by status/program/type/PM, full-text search, CSV export
- Team Dashboard: Executive analytics with Plotly charts, PM performance metrics, activity tracking
- Import Data: Bulk Excel/CSV import with validation, template download, progress tracking
- Process Sync Inbox: Admin tool to merge PM syncs, batch processing, archival
- Admin Panel: 3-tab interface (User Management, Configuration, System Info)
- Reports & Analytics: 5 report types with interactive visualizations:
- Executive Summary (high-level overview)
- Project Status Report (status breakdowns with charts)
- KPI Dashboard (budget/schedule trends over time)
- Timeline Analysis (duration stats with Gantt charts)
- Program Performance (cross-program comparison)
- Sample Data Generator: Creates 50+ test projects with realistic data
- Automated Test Suite: 7 comprehensive tests with 100% pass rate
- Complete Documentation: User guides, deployment checklists, quick reference
- AI Assistant: Local LLM integration for intelligent insights (placeholder ready)
- Work Packages: Milestone and task management (database schema ready)
- Project Contacts: Enhanced team member tracking (database schema ready)
- Python 3.10 or higher
- pip package manager
- Virtual environment (recommended)
-
Clone the repository:
cd /home/wrnash1/development/Project_Tracker -
Create and activate virtual environment:
python -m venv venv source venv/bin/activate # On Linux/Mac # or venv\Scripts\activate # On Windows
-
Install dependencies:
pip install -r requirements.txt
-
Run the application (databases auto-initialize):
./run.sh # or manually: streamlit run app/Home.py -
Access the application:
- Open your browser to
http://localhost:8501 - Login with default credentials:
- Admin: username:
admin, password:admin123 - PM User: username:
pmuser, password:pm123
- Admin: username:
- Open your browser to
Project_Tracker/
βββ app/
β βββ Home.py # Main entry point & login page
β βββ sidebar.py # Sidebar navigation component
β βββ styles.py # Custom CSS styling
β βββ pages/ # Multi-page app structure
β βββ 1_My_Dashboard.py # PM dashboard
β βββ 2_New_Project.py # Create new projects
β βββ 3_Sync_Data.py # Sync to master DB
β βββ 4_Team_Dashboard.py # Admin team view
β βββ 5_Import_Data.py # Bulk import
β βββ 6_Process_Sync_Inbox.py # Process syncs
β βββ 7_Admin_Panel.py # Admin controls
β βββ 8_Reports.py # Analytics & reports
β βββ 9_All_Projects.py # View all projects
β βββ 10_AI_Assistant.py # AI chatbot
βββ src/
β βββ vtrack/
β βββ __init__.py
β βββ database.py # Database schemas & operations
β βββ auth.py # Authentication & session management
β βββ sync.py # Synchronization system
βββ scripts/
β βββ generate_sample_data.py # Test data generator
β βββ test_application.py # Automated test suite
βββ data/ # Created at runtime
β βββ master_users.db # User accounts
β βββ master_projects.db # All projects
β βββ config.db # System settings
β βββ user_*_local.db # User local databases
β βββ sync_inbox/ # Pending syncs
β βββ sync_archive/ # Processed syncs
βββ .streamlit/
β βββ config.toml # Verizon theme configuration
βββ requirements.txt # Python dependencies
βββ .gitignore # Git ignore rules
βββ README.md # This file
- Each user has a local database (
my_projects_USERID.db) stored on their machine - Changes are tracked with
sync_status(new, updated, synced) - Sync inbox model safely consolidates data without corruption
- Master databases on shared network drive (simulated as
G_DRIVE)
- master_users.db: User credentials, roles, and reporting hierarchy
- master_projects.db: Central repository for all project data
- config.db: Application configuration and business rules
- my_projects_USERID.db: Local user database with sync tracking
- Sr. Project Manager: Manage projects, take KPIs, sync data
- Principal Engineer: Read-only view of all projects, access reports
- Associate Director: Admin controls, user management, sync processing
- Director: High-level portfolio dashboard, read-only access
- Python 3.10+: Core language
- Streamlit: Web UI framework
- SQLite: Local and master databases
- Pandas: Data manipulation and import
- bcrypt: Password hashing
- Sentence Transformers: AI embeddings (future)
- FAISS: Vector similarity search (future)
- Create new pages in
app/pages/ - Add business logic in
src/vtrack/ - Update database schema in
src/vtrack/database.py - Update sidebar navigation in
app/sidebar.py - Test with different user roles
# Run automated test suite
python scripts/test_application.py
# Generate sample data for testing
python scripts/generate_sample_data.pyTest Results (v2.0.0):
- 7/7 tests passing (100%)
- Database initialization β
- User authentication β
- Project operations β
- KPI operations β
- Configuration operations β
- Sync operations β
- User management β
- Follow PEP 8 guidelines
- Use docstrings for functions and classes
- Keep functions focused and modular
- Add comments for complex logic
- No cloud dependencies: All data stays within Verizon network
- Bcrypt password hashing: Secure credential storage
- Role-based access control: Users only see what they're authorized to see
- Local-first: No external API calls or internet requirements
- Session management: Secure Streamlit session state
- Manage work packages (milestones/tasks)
- Manage project contacts (team members)
- Link from dashboard to detailed project view
- Monthly scorecard with project counts and intervals
- Visual program tracker (like UT Market Update PDF)
- Business day calculations for KPIs
- Enhanced Verizon logo integration
- Role-based form defaults
- Reusable project templates
- PyInstaller build to standalone .exe
- One-click installation
- Bundled dependencies
# Manually initialize databases
python src/vtrack/database.py# Ensure you're in the virtual environment
source venv/bin/activate
pip install -r requirements.txt# Run on different port
streamlit run app/Home.py --server.port 8502Complete documentation available:
- USER_GUIDE.md - Comprehensive user manual for all roles
- FEATURES.md - Complete feature list and capabilities
- STATUS.md - Current version status and test results
- DEPLOYMENT.md - Deployment checklist and production guide
- QUICK_REFERENCE.md - One-page quick reference card
- CHANGELOG.md - Version history and changes
- Issues: Report bugs via GitHub Issues
- Documentation: See documentation files listed above
- Team Collaboration: Use feature branches and pull requests
- Testing: Run
python scripts/test_application.pybefore committing
Β© 2025 Verizon Communications. Internal use only.
- v2.0.0 (Current) - Full production release with advanced features, 100% test coverage
- v1.0.0 - MVP with core features (authentication, dashboard, sync)
- v0.9.0 - Initial setup and architecture
Built with β€οΈ for Verizon Project Management Teams