A comprehensive Flask-based dashboard for managing candidate interviews, team analytics, and recruitment workflows.
- Python 3.8+
- MongoDB database
- pip (Python package manager)
- Clone the repository
git clone <your-repo-url>
cd DashboardFiltter- Install dependencies
pip install -r requirements.txt- Set up environment variables
Create a .env file in the project root:
MONGO_URI=mongodb+srv://username:password@cluster.mongodb.net/?retryWrites=true&w=majority
MONGO_DB=your_database_name
FLASK_DEBUG=True
FLASK_PORT=5000- Run the application
python app.py- Open your browser
http://localhost:5000
DashboardFiltter/
βββ app.py # Main application entry point
βββ db.py # Database connection configuration
βββ requirements.txt # Python dependencies
βββ vercel.json # Vercel deployment configuration
βββ routes/ # Application routes
β βββ dashboard.py # Dashboard overview
β βββ candidates.py # Candidate management
β βββ teams.py # Team management
β βββ analytics.py # Analytics and reporting
βββ templates/ # HTML templates
β βββ base.html
β βββ index.html
β βββ teams.html
β βββ candidate_lookup.html
β βββ interview_records.html
β βββ interview_stats.html
β βββ team_analytics.html
β βββ expert_analytics.html
β βββ funnel_analytics.html
β βββ export_center.html
β βββ search.html
β βββ error.html
βββ static/
βββ style.css # Custom styles
- Real-time candidate statistics
- Interview tracking and status monitoring
- Top experts and teams leaderboard
- Technology distribution analysis
- Funnel conversion metrics
- Recent activity feed
- Monthly trends visualization
- Create and manage interview teams
- Assign experts to teams
- View team performance metrics
- Track team-wise interview completion
- Search candidates by various criteria
- View detailed candidate profiles
- Track interview history
- Monitor workflow status
- Expert Analytics: Individual expert performance metrics
- Team Analytics: Team-based interview statistics
- Funnel Analytics: Conversion rates across interview stages
- Export Center: Download data in Excel format
- View all interview records
- Filter by status, date, expert, or team
- Track scheduling and rescheduling
- Monitor cancellations and completion rates
| Variable | Required | Description | Example |
|---|---|---|---|
MONGO_URI |
Yes | MongoDB connection string | mongodb+srv://... |
MONGO_DB |
Yes | Main database name | interview_db |
TEAMS_MONGO_URI |
No | Teams database connection (defaults to MONGO_URI) | mongodb+srv://... |
TEAMS_MONGO_DB |
No | Teams database name (defaults to MONGO_DB) | teams_db |
FLASK_DEBUG |
No | Enable debug mode (default: True) | False |
FLASK_PORT |
No | Application port (default: 5000) | 8080 |
See DEPLOYMENT.md for detailed deployment instructions.
Quick steps:
- Connect your GitHub repository to Vercel
- Set environment variables in Vercel dashboard
- Deploy!
Important: Make sure to set MONGO_URI and MONGO_DB in Vercel environment variables, or you'll get a 500 error.
After deployment, verify the application is running:
GET https://your-app.vercel.app/health
Expected response:
{
"status": "healthy",
"database": "connected"
}Stores candidate information including:
- Personal details
- Technology/skills
- Workflow status
- Branch/location information
Stores interview records including:
- Interview scheduling
- Assigned expert
- Interview round
- Status (Completed, Cancelled, Rescheduled)
- Feedback and notes
Stores team information including:
- Team name
- Team members (expert names)
# Add your test commands here
python -m pytest# Format code with black
black .
# Lint with flake8
flake8 .- Cause: Missing environment variables
- Solution: Set
MONGO_URIandMONGO_DBin Vercel settings
- Check MongoDB Atlas network access settings
- Verify IP whitelist includes Vercel's IPs or 0.0.0.0/0
- Ensure MongoDB credentials are correct
- Make sure all dependencies are in
requirements.txt - Run
pip install -r requirements.txt
- Flask (3.0.0): Web framework
- pymongo (4.6.1): MongoDB driver
- python-dotenv (1.0.0): Environment variable management
- pandas (2.1.4): Data manipulation
- openpyxl (3.1.2): Excel file generation
- dnspython (2.4.2): DNS toolkit for MongoDB
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is proprietary software for Vizva Consultancy Service.
For issues or questions, please contact the development team.
Built with β€οΈ by Vizva Consultancy Service