Skip to content

kpayush/AI-Interview-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

# AI Interview Bot An intelligent interview preparation application that uses AI to conduct mock interviews and provide personalized feedback based on uploaded resumes. ## Features - **AI-Powered Mock Interviews**: Conduct realistic interview simulations using GPT-4 - **Resume Analysis**: Upload and analyze resumes to generate relevant interview questions - **User Authentication**: Secure login and signup system with SQLite database - **Personalized Feedback**: Get detailed feedback on interview performance - **Modern Web Interface**: Clean, responsive UI built with Flask and JavaScript ## Tech Stack - **Backend**: Flask (Python) - **Frontend**: HTML, CSS, JavaScript - **Database**: SQLite - **AI Integration**: OpenRouter API (GPT-4) - **Authentication**: Werkzeug password hashing - **File Processing**: PyPDF2 for PDF resume parsing ## Prerequisites - Python 3.7 or higher - OpenRouter API key (for AI functionality) - Firebase Admin SDK (optional, for enhanced features) ## Installation 1. **Clone the repository** ```bash git clone https://github.com/kpayush/AI-Interview-bot.git cd AI-Interview-bot ``` 2. **Install dependencies** ```bash pip install -r requirements.txt ``` 3. **Set up environment variables** Create a `.env` file in the root directory: ``` OPENROUTER_API_KEY=your_openrouter_api_key_here ``` 4. **Set up Firebase (Optional)** - Download your Firebase service account key - Place it as `serviceAccountKey.json` in the root directory - Update `firebase_config.py` with your Firebase project details ## Usage 1. **Start the application** ```bash python app.py ``` 2. **Access the application** - Open your browser and go to `http://localhost:5000` - Sign up for a new account or log in with existing credentials 3. **Upload your resume** - Navigate to the upload section - Upload your resume in PDF format - The AI will analyze your resume and generate relevant interview questions 4. **Start an interview** - Choose your preferred interview type - Answer questions naturally - Receive real-time feedback and suggestions ## Project Structure ``` AI-Interview-bot/ ├── app.py # Main Flask application ├── firebase_config.py # Firebase configuration ├── requirements.txt # Python dependencies ├── .gitignore # Git ignore rules ├── README.md # Project documentation ├── static/ # Static files (CSS, JS) ├── templates/ # HTML templates ├── uploads/ # Resume upload directory ├── instance/ # SQLite database └── serviceAccountKey.json # Firebase credentials (not in git) ``` ## API Endpoints - `GET /` - Home page (requires authentication) - `GET /login` - Login page - `POST /login` - User authentication - `GET /signup` - Signup page - `POST /signup` - User registration - `POST /upload` - Resume upload - `POST /interview` - Start interview session - `POST /chat` - Interview conversation ## Configuration ### Environment Variables - `OPENROUTER_API_KEY`: Your OpenRouter API key for AI functionality ### Database The application uses SQLite for user management. The database is automatically created in the `instance/` directory. ## Security Features - Password hashing using Werkzeug - Session management - File upload validation - CORS protection - Environment variable protection for sensitive data ## Contributing 1. Fork the repository 2. Create a feature branch (`git checkout -b feature/amazing-feature`) 3. Commit your changes (`git commit -m 'Add some amazing feature'`) 4. Push to the branch (`git push origin feature/amazing-feature`) 5. Open a Pull Request ## License This project is licensed under the MIT License - see the LICENSE file for details. ## Support For support and questions, please open an issue on GitHub or contact the maintainers. ## Acknowledgments - OpenRouter for AI capabilities - Flask community for the web framework - Firebase for authentication services # AI-Interview-bot

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published