A production-ready, full-stack SaaS platform for building ATS-optimized resumes with AI assistance.
| Layer | Technology |
|---|---|
| Frontend | React 18 + Vite + TailwindCSS |
| State | Zustand |
| Backend | Node.js + Express |
| AI | OpenAI GPT-4o-mini |
| jsPDF + html2canvas + pdf-parse | |
| Payments | PayPal REST API + PayU |
| Auth | JWT + bcrypt |
| NLP | natural + compromise |
resume-builder-saas/
├── client/
│ └── src/
│ ├── components/
│ │ ├── builder/ # Form components
│ │ ├── templates/ # Resume templates
│ │ ├── ats/ # ATS score panel
│ │ └── ui/ # Shared UI
│ ├── pages/ # Route pages
│ ├── store/ # Zustand state
│ └── utils/ # API client + helpers
├── server/
│ ├── routes/ # API routes
│ ├── services/ # Business logic
│ └── middleware/ # Auth middleware
├── .env.example
└── README.md
git clone https://github.com/yourusername/resume-builder-saas
cd resume-builder-saas
npm run install:all
cp .env.example server/.env
# Edit server/.env with your API keys
Required environment variables:
OPENAI_API_KEY=your_openai_key
PAYPAL_CLIENT_ID=your_paypal_client_id
PAYPAL_SECRET=your_paypal_secret
PAYPAL_MODE=sandbox
PAYU_KEY=your_payu_key
PAYU_SALT=your_payu_salt
JWT_SECRET=your_jwt_secret
CLIENT_URL=http://localhost:5173
PORT=5000
npm run dev
PAYPAL_MODE=livePAYU_KEY and PAYU_SALT in .envservernpm installnode index.jsclientnpm run builddistVITE_API_URL environment variable pointing to your Render backendIn client/src/utils/api.js, update the baseURL:
const api = axios.create({
baseURL: import.meta.env.VITE_API_URL || '/api'
});
| Method | Endpoint | Auth | Description |
|---|---|---|---|
| POST | /api/auth/register | - | Register user |
| POST | /api/auth/login | - | Login user |
| GET | /api/auth/me | ✓ | Get current user |
| GET | /api/resume | ✓ | List resumes |
| POST | /api/resume | ✓ | Save resume |
| PUT | /api/resume/:id | ✓ | Update resume |
| DELETE | /api/resume/:id | ✓ | Delete resume |
| POST | /api/ai/rewrite-bullet | ✓ Premium | AI rewrite bullet |
| POST | /api/ai/improve-summary | ✓ Premium | AI improve summary |
| POST | /api/ai/generate-bullets | ✓ Premium | AI generate bullets |
| POST | /api/ats/score | ✓ | Get ATS score |
| POST | /api/ats/keywords | ✓ | Extract JD keywords |
| POST | /api/parse/pdf | ✓ | Parse PDF resume |
| POST | /api/payment/paypal/create-order | ✓ | Create PayPal order |
| POST | /api/payment/paypal/capture-order | ✓ | Capture PayPal payment |
| POST | /api/payment/payu/initiate | ✓ | Initiate PayU payment |
MIT