A comprehensive React-based web application for professional resume management with AI-powered generation, team collaboration, and role-based access control. Built with modern technologies and designed for seamless team workflows.
- GPT-4 Enhanced Content: Generate tailored resumes using OpenAI's GPT-4 model
- Smart Content Optimization: AI-enhanced summaries, experience descriptions, and skills
- Job Description Matching: Customize resumes based on specific job requirements
- Real-time Preview: See generated content before downloading
- Editable Content: Modify AI-generated content before finalizing
- Professional Formatting: Download as properly formatted
.docxfiles
- Three-Tier Role System:
- Bidders: Generate resumes using assigned profiles
- Managers: Create/manage profiles and assign them to bidders
- Admins: Full system access with user management capabilities
- Profile Assignment System: Managers can assign profiles to specific bidders
- User Management: Admins can create, edit, and delete users with role assignment
- Comprehensive History: Track all resume generations with job details
- Detailed Metadata: Store job descriptions, company names, and application links
- Advanced Filtering: Filter by profile, bidder, date range, and custom criteria
- Pagination Support: Handle large datasets with efficient pagination
- Application Details Modal: View complete application information
- Export Capabilities: Download application data for analysis
- Supabase Authentication: Secure user authentication and session management
- Admin-Controlled Access: Only administrators can create new users
- Role-Based Route Protection: Automatic access control based on user roles
- User Profile Management: Complete user lifecycle management
- Audit Trail: Track all user activities and system changes
- Responsive Design: Works seamlessly on desktop and mobile devices
- TailwindCSS Styling: Modern, clean, and professional appearance
- Interactive Components: Modal dialogs, forms, and data tables
- Real-time Notifications: Toast notifications for user feedback
- Loading States: Smooth user experience with loading indicators
- React 18 with TypeScript for type safety
- React Router DOM for client-side routing
- TailwindCSS for modern styling
- React Hook Form for form management
- Lucide React for beautiful icons
- React Hot Toast for notifications
- Supabase (PostgreSQL) for database and authentication
- OpenAI API (GPT-4) for AI-powered content generation
- Row Level Security (RLS) for data protection
- docx library for professional Word document creation
- File Saver for client-side file downloads
- Node.js (v16 or higher)
- npm or yarn
- Supabase account
- OpenAI API key
git clone <repository-url>
cd ai-resume-generator
npm install- Create a new Supabase project at supabase.com
- Go to Settings > API to get your project URL and anon key
- Run the database setup scripts in the SQL editor:
-- Copy and paste the contents of sql/simple-setup.sql
-- Copy and paste and run the 09-comprehensive-rpc-functions.sql
-- This creates all necessary tables, functions, and triggersCreate a .env file in the root directory:
REACT_APP_SUPABASE_URL=your_supabase_project_url
REACT_APP_SUPABASE_ANON_KEY=your_supabase_anon_keynpm startThe application will be available at http://localhost:3000
-
Create First Admin User:
-- In Supabase SQL Editor, run: UPDATE users SET role = 'admin' WHERE email = 'your-email@example.com';
-
Login and Create Users: Use the admin interface to create additional users
- Login: Sign in with credentials provided by your administrator
- Select Profile: Choose from assigned professional profiles
- Enter Job Details: Provide job description, company, and title
- Generate Resume: Let AI create a tailored resume
- Edit & Download: Modify content and download as Word document
- Track Applications: View your application history
- Create Profiles: Add professional profiles with experience, education, and skills
- Assign Profiles: Assign profiles to specific bidders
- Monitor Applications: View job applications from assigned profiles
- Filter & Analyze: Use advanced filters to analyze application patterns
- User Management: Create, edit, and delete users with appropriate roles
- System Overview: View all profiles, assignments, and applications
- Role Assignment: Assign and manage user roles (bidder, manager, admin)
- System Analytics: Access comprehensive system data
src/
βββ components/ # React components
β βββ Auth.tsx # Authentication UI
β βββ Layout.tsx # Main layout with navigation
β βββ ProtectedRoute.tsx # Route protection
β βββ ProfileForm.tsx # Profile creation/editing
β βββ ResumeGenerator.tsx # AI resume generation
β βββ JobApplications.tsx # Application history & tracking
β βββ ProfileAssignments.tsx # Profile assignment management
β βββ UserManagement.tsx # User management (admin)
β βββ ResumePreview.tsx # Resume preview
β βββ AssignBiddersModal.tsx # Bidder assignment modal
βββ pages/ # Page components
β βββ ProfilesPage.tsx # Profiles management
β βββ GeneratorPage.tsx # Resume generation
β βββ ApplicationsPage.tsx # Applications history
β βββ AssignmentsPage.tsx # Profile assignments
β βββ UsersPage.tsx # User management
βββ contexts/ # React contexts
β βββ AuthContext.tsx # Authentication state
β βββ UserContext.tsx # User data and role management
β βββ ProfilesContext.tsx # Profile data management
βββ lib/ # Library configurations
β βββ supabase.ts # Supabase client and types
βββ types/ # TypeScript definitions
β βββ resume.ts # Resume-related types
β βββ user.ts # User-related types
βββ utils/ # Utility functions
β βββ resumeGenerator.ts # AI integration with OpenAI
β βββ docxGenerator.ts # Word document generation
βββ App.tsx # Main application component
users: User accounts with roles (bidder/manager/admin)profiles: Professional resume profilesprofile_assignments: Profile-to-bidder assignmentsjob_applications: Job application history and metadata
- Automatic User Sync: New auth users are synced to public.users
- Role-Based Access: Simple role management without complex RLS
- Comprehensive Tracking: Full audit trail of all activities
- Model:
gpt-4.1-mini(latest model) - Temperature: 0.7 (balanced creativity and consistency)
- Max Tokens: 2000 (increased for comprehensive content)
- PostgreSQL Database: Robust data storage
- Real-time Capabilities: Live data synchronization
- Authentication: Secure user management
- Custom Configuration: Optimized for the application
- Responsive Design: Mobile-first approach
- Professional Styling: Clean and modern UI
- Connect your GitHub repository
- Set environment variables
- Deploy automatically on push
- Build command:
npm run build - Publish directory:
build - Set environment variables
The app can be deployed to any static hosting service that supports React applications.
"Database error creating new user"
- Run the cleanup script first:
sql/01-cleanup-simple.sql - Then run the complete setup:
sql/simple-setup.sql
"User not allowed"
- Admin API may not be available in free tier
- Use the app's user management interface instead
"Role not found"
- Run user sync script:
sql/06-sync-existing-users.sql - Ensure user exists in public.users table
- Check browser console for detailed error messages
- Verify environment variables are set correctly
- Ensure Supabase project is properly configured
- Resume Templates & Customization
- Custom color schemes and fonts
- Template preview before generation
- Save favorite templates per user
- Enhanced Job Application Tracking
- Application status tracking (Applied, Interview, Offer, Rejected)
- Interview scheduling and reminders
- Advanced Resume Analytics
- ATS (Applicant Tracking System) compatibility checker
- Keyword optimization suggestions
- Resume scoring and improvement recommendations
- Improved AI Capabilities
- Cover letter generation
- Interview question preparation
- Salary negotiation tips
- Industry-specific resume optimization
- Better User Experience
- Drag-and-drop resume builder interface
- Export to multiple formats (PDF, DOCX, HTML)
- Dark/light theme toggle
- Collaboration Features
- Comments and feedback system
- Performance & Reliability
- Offline mode for basic editing
- Faster loading times
- Better error handling and recovery
- Data Management
- Advanced search and filtering
- Data migration tools
- Personalization
- Custom resume sections
- Social media links
- Workflow Improvements
- Quick resume updates
- Current System Improvements
- Progress indicators for long generations
- Email alerts for application deadlines
- Bulk actions for job applications
- Integration Opportunities
- Email integration for follow-ups
- AI-Powered Insights
- Job market analysis for your skills
- Salary range recommendations
- Skill gap analysis
- Community Features
- Resume sharing (anonymous)
- Industry-specific resume examples
- Peer review system
- Expert consultation booking
- Visual Improvements
- Interactive resume builder
- Progress tracking dashboard
- Achievement badges/milestones
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
For support and questions:
- Create an issue in the repository
- Check the documentation
- Review the code comments
Built with β€οΈ using React, TypeScript, and Supabase