This guide covers deploying both the frontend (React) and backend (Flask API) components of the Smart ATS application.
- Python 3.11+
- Google Gemini AI API key
-
Create a new Web Service on Render
- Connect your GitHub repository
- Select the
Smart-ATS-LLM-Appdirectory as the root
-
Configure Build Settings
- Build Command:
pip install -r requirements.txt - Start Command:
gunicorn app:app
- Build Command:
-
Set Environment Variables
GOOGLE_API_KEY=your_google_gemini_api_key PORT=5000 PYTHON_VERSION=3.11.0 -
Deploy
- The service will be available at:
https://your-app-name.onrender.com
- The service will be available at:
-
Install Heroku CLI and login
heroku login
-
Create Heroku app
cd Smart-ATS-LLM-App heroku create your-app-name -
Set environment variables
heroku config:set GOOGLE_API_KEY=your_google_gemini_api_key
-
Deploy
git add . git commit -m "Deploy to Heroku" git push heroku main
- Node.js 18+
- Backend API URL
-
Install Vercel CLI
npm i -g vercel
-
Configure Environment Variables Create
.env.production:VITE_API_URL=https://your-backend-url.onrender.com -
Deploy
cd Smart_ATS vercel --prod
-
Build the project
cd Smart_ATS npm run build -
Deploy to Netlify
- Upload the
distfolder to Netlify - Set environment variable:
VITE_API_URL=https://your-backend-url.onrender.com
- Upload the
cd Smart-ATS-LLM-App
pip install -r requirements.txt
cp .env.example .env
# Edit .env and add your GOOGLE_API_KEY
python app.pycd Smart_ATS
npm install
cp .env.example .env
# Edit .env and set VITE_API_URL to your backend URL
npm run dev-
Test Backend Health
curl https://your-backend-url.onrender.com/
-
Test Frontend
- Open the frontend URL
- Upload a PDF resume
- Enter a job description
- Click "Analyze Resume"
-
CORS Errors
- Ensure the backend CORS configuration includes your frontend domain
- Check that the API URL in frontend matches the deployed backend
-
File Upload Issues
- Verify PDF file size is under 16MB
- Check that the file is a valid PDF
-
AI API Errors
- Verify GOOGLE_API_KEY is set correctly
- Check API quota and billing status
-
Timeout Issues
- AI processing can take 30-60 seconds
- Ensure frontend timeout is set appropriately (currently 2 minutes)
Backend:
- ✅ GOOGLE_API_KEY
- ✅ PORT (optional, defaults to 5000)
Frontend:
- ✅ VITE_API_URL
-
API Keys
- Never commit API keys to version control
- Use environment variables for all sensitive data
-
CORS
- In production, restrict CORS origins to your frontend domain
- Currently set to allow all origins (
*) for development
-
File Upload
- File size limited to 16MB
- Only PDF files accepted
- Files are processed in memory and not stored
-
Backend
- Consider implementing caching for repeated analyses
- Add request rate limiting
- Optimize PDF text extraction
-
Frontend
- Implement proper loading states
- Add retry mechanisms for failed requests
- Consider adding offline support
-
Backend Logs
- Monitor application logs for errors
- Track API response times
- Monitor AI API usage and costs
-
Frontend
- Monitor user interactions
- Track successful vs failed analyses
- Monitor page load times