An AI-powered career development advisor that bridges the gap between your current skills and career goals using O*NET occupational data to provide personalized guidance and actionable recommendations.
- Experience Analysis: AI-powered extraction of skills and experience from resumes and Google Docs
- Career Path Mapping: Compare your profile against 1,000+ O*NET occupation profiles
- Real-time Assessment: Watch your career readiness assessment with live updates
- Multi-dimensional Evaluation: Assess readiness across 6 professional dimensions:
- Tasks & Responsibilities
- Skills & Abilities
- Educational Requirements
- Work Activities
- Knowledge Areas
- Tools & Technology
- Personalized Career Guidance: Receive specific recommendations for skill development, certifications, and career advancement
- Credit-based System: Fair usage model with secure Stripe integration
- Interactive Visualizations: Dynamic radar charts showing dimensional strengths
- Progressive Results: View insights as they're generated in real-time
- Smart Caching: Instant results for repeated analyses
- Mobile Responsive: Full functionality across all devices
- Session Management: Secure authentication with JWT tokens
- React 19 with Vite for blazing-fast development
- TailwindCSS for modern, responsive styling
- Recharts for interactive data visualizations
- React Query for efficient data fetching
- React Hook Form for form management
- Framer Motion for smooth animations
- Node.js with Express.js
- PostgreSQL for robust data storage
- Redis for caching and session management
- OpenAI GPT-4 for intelligent resume parsing
- Server-Sent Events for real-time streaming
- Stripe for payment processing
- JWT for secure authentication
- Node.js 18+ and npm
- PostgreSQL 14+
- Redis 6+
- OpenAI API key
- Stripe account (for payments)
- Clone the repository
git clone https://github.com/yourusername/resume-analyzer.git
cd resume-analyzer
- Set up the backend
cd backend
npm install
# Create .env file with required variables
cp .env.example .env
# Edit .env with your configuration
# Set up database
psql -U postgres -f src/db/schema.sql
# Start the server
npm run dev
- Set up the frontend
cd frontend
npm install
# Create .env file
cp .env.example .env
# Edit .env with your API endpoint
# Start the development server
npm run dev
- Access the application
- Frontend: http://localhost:5173
- Backend API: http://localhost:3001
# Database
DATABASE_URL=postgresql://user:password@localhost:5432/resume_analyzer
REDIS_URL=redis://localhost:6379
# Authentication
JWT_SECRET=your-secret-key
JWT_EXPIRES_IN=7d
# APIs
OPENAI_API_KEY=sk-...
STRIPE_SECRET_KEY=sk_...
STRIPE_WEBHOOK_SECRET=whsec_...
# Server
PORT=3001
NODE_ENV=development
VITE_API_URL=http://localhost:3001
- Sign Up/Login: Create an account or login to access the platform
- Upload Resume: Upload your resume in PDF, DOCX, or import from Google Docs
- Select Occupation: Search and select target job from O*NET database
- View Analysis: Watch real-time analysis with progressive results
- Review Insights: Explore dimensional scores and recommendations
- Take Action: Follow personalized recommendations for improvement
POST /api/auth/register
- Create new accountPOST /api/auth/login
- Login userPOST /api/auth/logout
- Logout user
POST /api/resumes/upload
- Upload resume filePOST /api/resumes/parse
- Parse resume with AIGET /api/resumes
- List user's resumes
GET /api/analysis/stream/:resumeId/:occupationCode
- Stream analysis (SSE)GET /api/analysis/:id
- Get completed analysisGET /api/analysis/search
- Search analyses
GET /api/credits/balance
- Check credit balancePOST /api/credits/purchase
- Purchase credits
resume-analyzer/
├── backend/
│ ├── src/
│ │ ├── controllers/ # Request handlers
│ │ ├── models/ # Database models
│ │ ├── routes/ # API routes
│ │ ├── services/ # Business logic
│ │ ├── middleware/ # Auth, validation
│ │ └── db/ # Database schema
│ └── server.js # Entry point
│
├── frontend/
│ ├── src/
│ │ ├── components/ # React components
│ │ ├── pages/ # Page components
│ │ ├── services/ # API clients
│ │ ├── contexts/ # React contexts
│ │ └── utils/ # Utilities
│ └── index.html # Entry point
│
└── README.md
We welcome contributions! Please follow these steps:
- 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
# Backend tests
cd backend
npm test
# Frontend tests
cd frontend
npm test
- Use environment variables for all sensitive data
- Enable HTTPS with SSL certificates
- Set up proper CORS policies
- Configure rate limiting
- Implement error monitoring (e.g., Sentry)
- Set up database backups
- Use PM2 or similar for process management
This project is licensed under the MIT License - see the LICENSE file for details.
- O*NET for comprehensive occupation data
- OpenAI for powerful resume parsing capabilities
- The open-source community for amazing tools and libraries
For issues, questions, or suggestions:
- Open an issue on GitHub
- Contact: support@resumeanalyzer.com
Built with ❤️ by the Resume Analyzer Team