An interactive web dashboard for tracking employee onboarding metrics, built with Flask and Chart.js.
Interactive dashboard displaying task completion trends, employee satisfaction scores, and engagement metrics with Chart.js visualizations.
This dashboard provides HR teams and managers with real-time visualization of onboarding performance metrics including:
- Total tasks completed
- Employee satisfaction scores
- Weekly task completion trends
- Employee engagement over 3 months
- Task breakdown by category (Paperwork, Training, IT Setup, Orientation, Meet & Greets)
Backend:
- Python 3.x
- Flask (web framework)
Frontend:
- HTML5
- CSS3
- JavaScript
- Chart.js (data visualization)
Accessibility:
- WCAG 2.1 AA compliant
- Keyboard navigation support
- Screen reader friendly
- Reduced motion suppor
- Interactive Charts: Hover over data points to see detailed information
- Responsive Design: Works on desktop, tablet, and mobile devices
- Accessible: Built with ARIA labels and semantic HTML
- Clean Code: Well-organized project structure following best practices
- Professional UI: Modern card-based layout with smooth animations
onboarding-dashboard/
โ
โโโ app.py # Main Flask application
โโโ data.py # Sample onboarding metrics data
โโโ requirements.txt # Python dependencies
โโโ .gitignore # Git ignore rules
โ
โโโ templates/
โ โโโ index.html # Dashboard HTML template
โ
โโโ static/
โโโ style.css # Dashboard styling
- Python 3.7 or higher
- pip (Python package manager)
- Clone the repository
git clone https://github.com/YOUR_USERNAME/onboarding-dashboard.git
cd onboarding-dashboard- Create a virtual environment
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies
pip install -r requirements.txt- Run the application
python app.py-
View in browser
Open http://127.0.0.1:5000 in your web browser
The dashboard currently uses sample data defined in data.py. In a production environment, this would connect to a database or API to display real-time metrics.
To modify the data:
- Edit the values in
data.py
To change colors:
- Update the color codes in
static/style.css(main color:#3498db) - Modify chart colors in the JavaScript section of
templates/index.html
To add new metrics:
- Add data to
data.py - Pass data through Flask in
app.py - Create new chart section in
index.html - Style the new section in
style.css
View Live Dashboard Link will be added after deployment
This project was built as a portfolio piece to demonstrate:
- Full-stack web development skills
- Data visualization capabilities
- Accessibility best practices
- Clean, maintainable code structure
- Connect to real database (PostgreSQL/MongoDB)
- Add user authentication
- Export reports to PDF
- Add date range filters
- Implement real-time data updates
- Add more chart types (pie charts, gauges)
This project is open source and available under the MIT License.
Cat Young
- Portfolio: catyoung018.github.io/Cat-Young-Dev
- LinkedIn: linkedin.com/in/catrilliayoung
- GitHub: github.com/CatYoung018
- Chart.js for the excellent charting library
- Flask documentation and community
- Anthropic's Claude for development guidance
โญ If you found this project helpful, please consider giving it a star!
