Skip to content

boyan1001/resume-analysis

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Resume Analysis System

React Flask Docker sqlite Firebase
This is a web application we developed in DevJam (a hackathon hold by GDG). It can analyze resumes and provide feedback by Gemini AI.

✨ Overview

  • Developed a web application using Flask and React, allowing users to upload resumes and receive feedback.
  • Implemented Gemini AI to analyze resumes and provide suggestions for improvement.
  • Use RAG (RetrievalAugmented Generation) to enhance the accuracy of resume analysis.
  • With online mock interview mode, you can practice and improve your interview performance.

🧑‍💻 Teams

erichung9060 : Project Manager / Back-end / General Codes / mock interview / Gemini api

weng__0721 : Front-end / mock interview interface design

boyan1001 : Back-end / resume analysis pipeline design / Gemini api / prompt engineering / Deploy  

noyapoyo : Front-end / resume analysis interface design

🧱 Project Structure

resume-analysis
├── /backend/                  # Flask app
│  ├── Dockerfile              
│  ├── interview_results.db    # Database
│  └── ...
├── /backend/                  # Next.js app
│  ├── Dockerfile
│  └── ...
├── docker-compose.yml 
├── .gitignore
├── LICENSE
└── README.md

🖥️ Requirements

To run the program successfully, please check the following:

  • Node.js 18+ / pnpm (for frontend)
  • Python 3.12+ / uv (for backend)
  • Docker % docker-compose (you can also deploy by Docker)

🐳 Run by Docker

First enter your gemini api key and firebase config

echo 'GOOGLE_API_KEY=<your_gemini_api_key>  
NEXT_PUBLIC_FIREBASE_API_KEY=<your_firebase_api_key>  
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=<your_firebase_auth_domain>  
NEXT_PUBLIC_FIREBASE_PROJECT_ID=<your_firebase_id>  
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=<your_firebase_storage_bucket>  
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=<your_firebase_messaging_sender_id> 
NEXT_PUBLIC_FIREBASE_APP_ID=<your_firebase_app_id> 
NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID=<your_firebase_measurement_id>' > .env

Build and start the containers:

docker compose up --build

Then access the services:

💻 Local Development (without Docker)

First enter your gemini api key and firebase config

echo 'GOOGLE_API_KEY=<your_gemini_api_key>  
NEXT_PUBLIC_FIREBASE_API_KEY=<your_firebase_api_key>  
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=<your_firebase_auth_domain>  
NEXT_PUBLIC_FIREBASE_PROJECT_ID=<your_firebase_id>  
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=<your_firebase_storage_bucket>  
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=<your_firebase_messaging_sender_id> 
NEXT_PUBLIC_FIREBASE_APP_ID=<your_firebase_app_id> 
NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID=<your_firebase_measurement_id>' > .env

Backend

Use uv to install dependencies the backend app need:

cd backend
uv sync
uv run app.py

Your backend app runs at http://localhost:3001

Frontend

Then use pnpm to runs frontend:

cd frontend
pnpm install
pnpm dev

Your frontend runs at http://localhost:3000

About

This is a web application we developed in DevJam (a hackathon hold by GDG). It can analyze resumes and provide feedback by Gemini AI.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 52.9%
  • Python 23.9%
  • HTML 20.2%
  • Dockerfile 2.5%
  • JavaScript 0.5%