Welcome to the Performance Management System (PMS) — a centralized, role-based web application built to streamline goal tracking, probation monitoring, and employee performance reviews.
The application is deployed on Render:
🔗 Live URL: https://pms-37cr.onrender.com
The PMS platform is designed to replace fragmented spreadsheets and informal email threads with automated workflows and real-time dashboards. It serves three distinct roles with tailored experiences:
- Employees: Set goals, submit self-assessments, and track their probation timelines.
- Managers: Assign goals, review team performance, approve pending tasks, and provide structured feedback.
- Administrators: Oversee the entire organization, manage the user repository ("People Management"), track aggregate performance scores, and handle system escalations.
- Backend: Python, Flask
- Database: SQLite (
database.db) - Frontend: HTML5, CSS3, JavaScript, Bootstrap 5.3
- Icons & UI: FontAwesome 6, Glassmorphic / Premium SaaS Design framework
- Role-based Authentication: Secure, distinct dashboards for Employees, Managers, and Admins.
- Goal Management System (GMS): Assign, track, and update dynamic goals with weightage-based progression.
- Automated Review Cycles: Dedicated tracking for Bi-Annual and Quarterly performance review tracks.
- Probation Monitoring: 30/60/80-day automated staggered checkpoint reviews for new hires.
- Real-time Email Emulation: Background jobs and dynamic scheduler simulating automated email notifications right on the dashboard.
- Escalation Center: Admins can flag toxic/unprofessional feedback and gracefully escalate delayed manager responses.
- Premium "People Management" Module: Instantly Add/Remove users with cascading data deletion ensuring database integrity.
Opstree1/
│
├── app.py # Main Flask application initialization and configuration
├── database.py # Database connection wrapper and queries
├── init_db.py # Schema definition and database seeding script
├── scheduler.py # Background operations (email automation/escalation triggers)
├── utils.py # Helper functions for calculation and data processing
│
├── routes/ # Separated route blueprints for modularity
│ ├── auth.py # Login, Logout logic
│ ├── employee.py # Employee dashboard actions
│ ├── manager.py # Manager dashboard logic
│ └── admin.py # Admin logic & People Management
│
├── templates/ # HTML standard templates (Jinja2)
│ ├── login.html
│ ├── employee.html
│ ├── manager.html
│ ├── admin.html
│ └── admin_users.html # People Management Grid
│
└── static/ # CSS/JS and Images
└── custom.css # Core SaaS Aesthetic Style Overrides
-
Prerequisites Ensure you have Python 3.x installed.
-
Install Dependencies
pip install -r requirements.txt
-
Initialize the Database
python init_db.py
Note: This will recreate tables with sample users.
-
Run the Application
python app.py
The server will start on
http://127.0.0.1:5000. -
Run the Scheduler (Optional)
python scheduler.py
- Admin: admin@gmail.com
- Manager: mgr@gmail.com
- Employee: riya@example.com
- Password (all users): 123
The system prioritizes a Premium SaaS aesthetic:
- Fully responsive Bootstrap grids
- Clean UI with soft shadows and whitespace
- Structured navigation with a modern dashboard layout
- Consistent color scheme for actions and alerts
- SQLite is used for demonstration purposes
- On Render free tier, database resets on redeploy
- For production, PostgreSQL is recommended
Built for modern workforce management.