A professional, full-stack NLP application for resume analysis, matching, and optimization.
Since this is a full-stack application, you need to start two servers: the Backend (Python) and the Frontend (React).
Create a .env file in the project root (or copy from .env.example) and add:
GEMINI_API_KEY=your_gemini_api_key_here(optional, enables AI insights)FIREBASE_KEY_PATH=backend/firebase_key.json(optional, enables history persistence)
Open a new terminal and run:
cd backend
# Install dependencies if you haven't yet
pip install -r requirements.txt
# Start the server
uvicorn main:app --reloadThe backend will run on http://localhost:8000.
Open a second terminal and run:
cd frontend
# Install npm packages if you haven't yet
npm install
# Start the development server
npm run devThe frontend will run on http://localhost:5173.
Open your browser and go to: http://localhost:5173
- Frontend: React.js (Vite), Tailwind CSS (for layout), Lucide Icons, Framer Motion (animations).
- Backend: FastAPI (Python), NLTK, Scikit-learn.
- Database: Firebase Firestore (for analysis history).
- NLP Techniques: TF-IDF, Cosine Similarity, Regex-based Extraction, Extractive Summarization.
/backend: Contains the FastAPI app, NLP engine, and Firebase config./frontend: Contains the React source code, components, and design system.PROJECT_REPORT.md: Full academic project report.
To enable the "History" feature:
- Go to your Firebase Console.
- Generate a Service Account Key (JSON).
- Save it as
backend/firebase_key.json. The app will work perfectly fine without this key, but it won't save your history.