A modern, responsive React application for AI-powered resume analysis and optimization. This application helps job seekers optimize their resumes for Applicant Tracking Systems (ATS) by providing detailed analysis, match scores, and actionable recommendations.
- Resume Analysis: Upload PDF resumes and get AI-powered insights
- Job Matching: Compare resumes against job descriptions
- Match Score: Get percentage-based compatibility scores
- Missing Keywords: Identify important keywords missing from your resume
- Profile Summary: AI-generated professional summary suggestions
- User Authentication: Secure login and registration system
- User Dashboard: Track analysis history and statistics
- Profile Management: Manage account settings and preferences
- Review History: Save and access previous resume analyses
- Mobile-First: Optimized for all screen sizes
- Modern UI: Clean, professional interface using Tailwind CSS
- Accessibility: WCAG compliant with proper focus management
- Touch-Friendly: Optimized for mobile and tablet interactions
- PDF Export: Download analysis reports as PDF
- Social Sharing: Share results with others
- Email Reports: Send analysis via email
- Real-time Updates: Live analysis progress tracking
- Framework: React 18 with TypeScript
- Routing: React Router DOM v6
- Styling: Tailwind CSS
- State Management: Zustand
- HTTP Client: Axios
- Icons: Lucide React
- Charts: Recharts
- PDF Generation: jsPDF
- File Upload: React Dropzone
- Notifications: React Hot Toast
- Build Tool: Vite
-
Clone the repository
git clone <repository-url> cd Smart_ATS
-
Install dependencies
npm install
-
Environment Setup
cp .env.example .env
Update the
.env
file with your configuration:VITE_API_URL=http://localhost:5000 VITE_APP_NAME=Smart ATS VITE_ENV=development
-
Start the development server
npm run dev
-
Build for production
npm run build
src/
βββ components/ # Reusable UI components
β βββ ui/ # Basic UI components (Button, Input, Card, etc.)
β βββ Header.tsx # Navigation header
β βββ Footer.tsx # Footer component
β βββ Layout.tsx # Main layout wrapper
β βββ ...
βββ pages/ # Page components
β βββ HomePage.tsx # Landing and analysis page
β βββ LoginPage.tsx # User login
β βββ SignUpPage.tsx # User registration
β βββ DashboardPage.tsx # User dashboard
β βββ ProfilePage.tsx # User profile management
β βββ NotFoundPage.tsx # 404 error page
βββ contexts/ # React contexts
β βββ AuthContext.tsx # Authentication context
βββ services/ # API services
β βββ api.ts # Resume analysis API
β βββ authAPI.ts # Authentication API
β βββ reviewAPI.ts # Review management API
βββ store/ # State management
β βββ analysisStore.ts # Analysis state (Zustand)
βββ types/ # TypeScript type definitions
β βββ index.ts
βββ App.tsx # Main app component
- Primary: Blue (600-700)
- Secondary: Indigo (600-700)
- Success: Green (500-600)
- Warning: Yellow (500-600)
- Error: Red (500-600)
- Gray Scale: Gray (50-900)
- Font Family: System fonts (Inter, SF Pro, etc.)
- Responsive Sizing: Mobile-first approach
- Font Weights: 400 (normal), 500 (medium), 600 (semibold), 700 (bold)
All components follow a consistent design pattern with:
- Proper spacing using Tailwind's spacing scale
- Consistent border radius (lg, xl)
- Hover and focus states
- Loading and disabled states
- Mobile-responsive design
The app includes a complete authentication system:
- Registration: Email/password with validation
- Login: Secure authentication with JWT tokens
- Protected Routes: Automatic redirection for unauthenticated users
- Token Management: Automatic token refresh and storage
- Profile Management: Update user information
The application is built with a mobile-first approach:
- Breakpoints: sm (640px), md (768px), lg (1024px), xl (1280px)
- Navigation: Collapsible mobile menu
- Touch Targets: Minimum 44px for mobile interactions
- Safe Areas: Support for device safe areas
- Flexible Layouts: Grid and flexbox for responsive layouts
Run the linter:
npm run lint
- Connect your GitHub repository to Vercel
- Set environment variables in Vercel dashboard
- Deploy automatically on push to main branch
npm run build
The dist
folder contains the production build.
VITE_API_URL
: Backend API URLVITE_APP_NAME
: Application nameVITE_ENV
: Environment (development/production)VITE_DEBUG_MODE
: Enable debug logging
The app uses a custom Tailwind configuration with:
- Extended color palette
- Custom spacing scale
- Responsive typography utilities
- Custom component classes
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is licensed under the MIT License.
For support and questions:
- Create an issue in the repository
- Contact the development team
- Check the documentation
Built with β€οΈ using React and TypeScript