The AI Resume Analyzer is a comprehensive web application developed using Streamlit that empowers users to gain insights into their resumes, identify skill gaps, and receive relevant course and job recommendations. This application leverages advanced NLP tools, resume parsing, and machine learning to provide users with personalized resume feedback, recommended fields, and job opportunities.
- Resume Analysis: Extracts and analyzes the content of resumes to highlight skills, education, and work experience.
- Skill and Field Recommendations: Suggests courses and fields based on the analyzed skills.
- Job Search: Integrates web scraping to help users find job listings tailored to their profile.
- Feedback Collection: Enables users to submit feedback, which is stored for continuous improvement.
- Admin Dashboard: Provides an admin interface for managing and visualizing user data and feedback, including analytics such as user activity and experience distribution.
- Frontend: Streamlit for user interface
- Backend: Python with libraries such as Pandas, Spacy, NLTK, Selenium, and Plotly
- Database: MySQL for storing user and feedback data
- PDF Parsing: pdfminer for text extraction from resumes
- NLP: Spacy and NLTK for text processing and entity recognition
- Python 3.7+
- pip (Python package installer)
- Clone the repository:
git clone https://github.com/Radom12/AI_Resume_Analyzer cd AI_Resume_Analyzer
- Install dependencies:
pip install -r requirements.txt
- Set up the database:
- Ensure you have a MySQL server running.
- Create a database named
resume_analyzer
. - Configure
.env
with your database credentials:DB_HOST=localhost DB_USER=root DB_PASSWORD=yourpassword DB_NAME=resume_analyzer
- Run the application:
streamlit run app.py
.
├── app.py # Main application script
├── requirements.txt # Python dependencies
├── Courses.py # Module containing recommended course data
├── README.md # Project documentation
└── .env # Environment variables for database configuration
- Upload Your Resume: Navigate to the 'User' section and upload a PDF resume to get detailed analysis and feedback.
- Find Jobs: Use the 'Find Jobs' page to search for jobs based on title and location.
- Admin Access: Log in to access the admin dashboard, where you can view user data, feedback, and various analytics.
- Feedback: Provide Feedback on the app.
- Improvement:Improve your resume based on the suggestions.
Your resume data is only used during your session for analysis and is not permanently stored.
- Slow Job Finding Process: The job search feature using web scraping can be slow, affecting user experience. Optimization efforts are in progress to improve response times.
- Improper Admin Visualization: The admin dashboard may show inconsistent or unclear visual representations of user data. Enhancements to data visualization are planned for the next update.
- Limited Feedback Options: The current feedback system provides basic text input, limiting user interaction. An expanded feedback mechanism with more structured input options will be implemented soon. These issues are actively being worked on, and improvements will be released in future updates to enhance functionality and user experience.