Skip to content

Repository files navigation

Dashboard Filter - Interview Management System

A comprehensive Flask-based dashboard for managing candidate interviews, team analytics, and recruitment workflows.

πŸš€ Quick Start

Prerequisites

  • Python 3.8+
  • MongoDB database
  • pip (Python package manager)

Local Setup

  1. Clone the repository
git clone <your-repo-url>
cd DashboardFiltter
  1. Install dependencies
pip install -r requirements.txt
  1. 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
  1. Run the application
python app.py
  1. Open your browser
http://localhost:5000

πŸ“ Project Structure

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

🌟 Features

Dashboard Overview

  • 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

Team Management

  • Create and manage interview teams
  • Assign experts to teams
  • View team performance metrics
  • Track team-wise interview completion

Candidate Lookup

  • Search candidates by various criteria
  • View detailed candidate profiles
  • Track interview history
  • Monitor workflow status

Analytics

  • 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

Interview Management

  • View all interview records
  • Filter by status, date, expert, or team
  • Track scheduling and rescheduling
  • Monitor cancellations and completion rates

πŸ”§ Configuration

Environment Variables

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

πŸš€ Deployment

Vercel Deployment

See DEPLOYMENT.md for detailed deployment instructions.

Quick steps:

  1. Connect your GitHub repository to Vercel
  2. Set environment variables in Vercel dashboard
  3. Deploy!

Important: Make sure to set MONGO_URI and MONGO_DB in Vercel environment variables, or you'll get a 500 error.

Health Check

After deployment, verify the application is running:

GET https://your-app.vercel.app/health

Expected response:

{
  "status": "healthy",
  "database": "connected"
}

πŸ“Š Database Collections

candidateDetails

Stores candidate information including:

  • Personal details
  • Technology/skills
  • Workflow status
  • Branch/location information

taskBody

Stores interview records including:

  • Interview scheduling
  • Assigned expert
  • Interview round
  • Status (Completed, Cancelled, Rescheduled)
  • Feedback and notes

teams

Stores team information including:

  • Team name
  • Team members (expert names)

πŸ› οΈ Development

Running Tests

# Add your test commands here
python -m pytest

Code Style

# Format code with black
black .

# Lint with flake8
flake8 .

πŸ› Troubleshooting

500 Error on Vercel

  • Cause: Missing environment variables
  • Solution: Set MONGO_URI and MONGO_DB in Vercel settings

Database Connection Issues

  • Check MongoDB Atlas network access settings
  • Verify IP whitelist includes Vercel's IPs or 0.0.0.0/0
  • Ensure MongoDB credentials are correct

Import Errors

  • Make sure all dependencies are in requirements.txt
  • Run pip install -r requirements.txt

πŸ“¦ Dependencies

  • 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

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“ License

This project is proprietary software for Vizva Consultancy Service.

πŸ“§ Support

For issues or questions, please contact the development team.


Built with ❀️ by Vizva Consultancy Service

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages