An intelligent resume analysis platform that helps job seekers optimize their resumes, identify skills gaps, and prepare for interviews using AI-powered insights.
- User Authentication: Secure user registration and login system
- Resume Upload: Support for PDF and DOC format resume uploads
- Role Matching: Match resumes against specific job roles and descriptions
- Skills Gap Analysis: Identify missing skills and competency gaps
- Resume Scoring: Comprehensive scoring based on job description alignment
- Upskilling Suggestions: Personalized learning paths and resource recommendations
- Interview Preparation: AI-generated interview questions with answer tips
- Interactive Dashboards: Visual analytics with charts and progress indicators
- Practice Mode: Interactive interview question practice session
- Mobile Responsive: Optimized for all device sizes
- Real-time Analysis: Instant feedback and recommendations
- Progress Tracking: Multi-step workflow with visual progress indicators
- Framework: FastAPI with Python
- Database: SQLAlchemy ORM with PostgreSQL/SQLite support
- Authentication: Secure user authentication system
- File Processing: Resume parsing and analysis capabilities
- AI Integration: Ready for AI/ML model integration
- Framework: React 18 with functional components
- Styling: Custom CSS with responsive design
- State Management: React Context API
- Charts: Recharts for data visualization
- File Upload: React Dropzone for resume uploads
- Icons: Lucide React for consistent iconography
AI-Analyser/
βββ backend/
β βββ app/
β β βββ models/ # Database models
β β β βββ user.py # User model
β β β βββ resume.py # Resume model
β β β βββ role.py # Role model
β β βββ routers/ # API endpoints
β β βββ auth_router.py
β βββ database.py # Database configuration
β βββ dependencies.py # Common dependencies
β βββ main.py # FastAPI app entry point
β βββ requirements.txt # Python dependencies
βββ frontend/
β βββ public/ # Static assets
β βββ src/
β β βββ components/ # React components
β β βββ context/ # Context providers
β β βββ pages/ # Page components
β β βββ services/ # API services
β β βββ index.css # Global styles
β βββ package.json # Node.js dependencies
β βββ README.md # Frontend documentation
βββ setup-frontend.sh # Frontend setup script
βββ README.md # This file
- Python 3.8+
- Node.js 14+
- npm or yarn
-
Install Python Dependencies
pip install -r requirements.txt
-
Initialize Database
python create_all.py
-
Start Backend Server
uvicorn main:app --reload
Backend will be available at
http://localhost:8000
-
Run Setup Script
./setup-frontend.sh
-
Or Manual Setup
cd frontend npm install npm startFrontend will be available at
http://localhost:3000
- Create an account or login with existing credentials
- Secure authentication with form validation
- Drag and drop or click to upload PDF/DOC resume
- File validation and progress indicators
- Support for files up to 5MB
- Choose from predefined roles or enter custom job description
- Detailed job description input for accurate analysis
- Automatic resume parsing and content extraction
- Skills matching against job requirements
- Comprehensive scoring algorithm
- Resume Score Dashboard: Overall score with category breakdowns
- Skills Gap Analysis: Matched vs missing skills visualization
- Upskilling Suggestions: Personalized learning recommendations
- Interview Questions: AI-generated questions with practice mode
- Progress Tracking: Visual indicators for analysis completion
- Interactive Charts: Bar charts, pie charts, and progress bars
- Responsive Design: Mobile-first approach with tablet/desktop optimization
- Intuitive Navigation: Tab-based interface with logical flow
- Touch-friendly interface elements
- Optimized layouts for small screens
- Swipe gestures for navigation
- Compressed data visualization
- Database URL configuration in
database.py - CORS settings for frontend integration
- File upload size limits and supported formats
- API base URL configuration in
services/api.js - Proxy settings in
package.json - Responsive breakpoints in CSS
The frontend includes mock AI responses for demonstration:
- Skills extraction and matching
- Resume scoring algorithms
- Learning path recommendations
- Interview question generation
- Resume parsing service integration
- NLP models for skills extraction
- ML models for scoring algorithms
- External learning resource APIs
- Technical Skills: Matching against job requirements
- Experience: Relevant work experience evaluation
- Education: Educational background assessment
- Achievements: Quantifiable accomplishments analysis
- Visual representation of matched vs missing skills
- Priority-based skill gap identification
- Learning difficulty estimation
- Time investment recommendations
# Production build
pip install -r requirements.txt
uvicorn main:app --host 0.0.0.0 --port 8000
# With Gunicorn
gunicorn -w 4 -k uvicorn.workers.UvicornWorker main:app# Build for production
cd frontend
npm run build
# Deploy to web server
# Serve the build folder with any static file server# Example Dockerfile for backend
FROM python:3.9
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]# Unit tests (to be implemented)
pytest tests/
# API testing with curl
curl -X POST http://localhost:8000/auth/register \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "username=test&password=test123&email=test@example.com"cd frontend
npm test- Password hashing (to be implemented)
- Input validation and sanitization
- File upload security checks
- SQL injection prevention with ORM
- XSS prevention with React's built-in protections
- Secure API communication
- File upload validation
- Authentication token management
- Database query optimization
- File processing efficiency
- Caching strategies for AI results
- Rate limiting for API endpoints
- Lazy loading for components
- Image optimization for uploads
- Bundle size optimization
- Efficient re-rendering patterns
- β Basic UI/UX implementation
- β File upload functionality
- β Mock AI analysis results
- β Responsive design
- Real AI integration
- Advanced resume parsing
- User dashboard enhancements
- Analytics and reporting
- Real-time collaboration
- Job board integration
- Resume builder
- Advanced analytics
- Fork the repository
- Create a feature branch
- Set up both backend and frontend development environments
- Make your changes
- Test thoroughly
- Submit a pull request
- Follow PEP 8 for Python code
- Use ESLint configuration for JavaScript
- Write meaningful commit messages
- Add comments for complex logic
- FastAPI automatic documentation at
http://localhost:8000/docs - Interactive API testing interface
- Comprehensive endpoint documentation
- Component documentation in
/frontend/README.md - Storybook integration (planned)
- Usage examples and best practices
Q: What file formats are supported for resume upload? A: Currently supports PDF, DOC, and DOCX formats up to 5MB.
Q: How accurate is the AI analysis? A: The current implementation uses mock data for demonstration. Real AI integration will provide actual analysis results.
Q: Is the application mobile-friendly? A: Yes, the frontend is built with a mobile-first approach and is fully responsive.
Q: Can I customize the job roles? A: Yes, you can select from predefined roles or enter a custom job description for analysis.
- AI analysis uses mock data
- No real resume parsing implemented yet
- Limited file format support
- Basic authentication without JWT tokens
- Integration with real AI services
- Enhanced file processing
- Improved security implementation
- Advanced analytics features
For technical support or questions:
- Check the documentation in respective README files
- Review the FAQ section above
- Submit an issue on the project repository
- Contact the development team
This project is part of the AI Resume Analyser platform. All rights reserved.
Built with β€οΈ using React, FastAPI, and AI technology
Empowering job seekers to achieve their career goals through intelligent resume analysis and personalized guidance.