***
- This project was originally a group project, which can be found here, but because I have completely overhauled the backend (and currently working on the frontend), their names have been removed. The original proof-of-concept project will remain at the aforementioned link.
-
Frontend:
- TypeScript: Enforces type-safety and stronger development than plain JS
- React: Creates a rich and interactive UI for an enhanced UX.
- Flask-CORS: Just for routing
-
Backend:
- Python: Base language for the backend to handle endpoints, JWT auth, and orchestration of AI workflows, as well as both database interactions.
- Flask: Framework used to build the API.
- LangChain: Used to orchestrate OpenAI with various APIs
- OpenAI: Cloud-based API to access GPT 4o Mini
- Vector Database (Pinecone): Used for embedding the unstructured data (resume and job descriptions), enabling efficient similarity search and retrieval, allowing the LLM to analyze and compare content more efficiently.
- SQLAlchemy: Pythonic SQL for object relational mapping (between User, Resume, and Analysis types)
- Flask-JWT-Extended: Managing JWT auth
- An AI-powered application that compares your resume against a job posting and provides actionable feedback. Built with Flask, MongoDB, Playwright, and OpenAI's API. All logic now lives in a unified backend structure.
- Create a
.envfile in thedirectory based on the provided.env.example. - Include the following variables:
MONGO_URI = mongodb://mongo:27017/resume_db
SECRET_KEY = your_secret_key
OPENAI_API_KEY = sk-xxxxxxxxxxxxxxxxxxxxxxxxxxx- After copying, rename to
.envand replace dummy values, including the OpenAI Key, with your own.
- Clone the repository:
git clone https://github.com/JahleelT/jahleelt-resume-screener.git cd jahleelt-resume-screener - Copy
env.exampleto.envin, then update values. - Build and start services with Docker Compose:
docker-compose up --build
- Visit
http://localhost:5050to access the Web
The docker-compose.yml file defines:
- mongo: MongoDB service on port 27017
- app: Unified on port 5050
***
# For py
cd app
pytest --disable-warnings -q
## Container Images
- [gbs4189/web-app](https://hub.docker.com/r/gbs4189/web-app)
- [gbs4189/ml-client](https://hub.docker.com/r/gbs4189/ml-client)
## Deployment
We deploy to DigitalOcean via GitHub Actions. Configuration is defined in `spec.yaml`. Ensure your DigitalOcean App ID and required secrets are set in GitHub repository settings under **Secrets and variables**.
## License
This project is licensed under the MIT License. See [LICENSE](LICENSE) for details.