- The seacrh may take time as the backend is deployed on a free instance.
- If even after a long time there are no results the search API maximum limit might have been exceeded.
Joblinker is a comprehensive job matching platform designed to provide relevant job opportunities based on user resumes and preferences. This project leverages Golang for the backend, TypeScript for the frontend, and integrates advanced tools such as Gemini and the Google Search API.
- Profile Management: Users can upload resumes, and set preferences.
- Job Search and Match Display: Fetches and displays relevant job listings with headings, links, descriptions, and images.
- Tag Input for Enhanced Search: Users can enter tags to improve the accuracy and relevance of job matches.
- Backend: Golang
- Frontend: React, TypeScript, Tailwind CSS
- APIs: Gemini for resume parsing, Google Search API for job listings
- Deployment: Backend on Render, Frontend on Vercel
- Backend:
- Built with Golang
- API Layer, Data Processing, Job Matching Engine
- Deployed on Render
- Frontend:
- Developed with TypeScript, Tailwind CSS, React
- Job Search
- Deployed on Vercel
- Golang
- Node.js and npm
- Docker (optional for containerized deployment)
-
Clone the repository:
git clone https://github.com/NIXBLACK11/GeminiChallenge.git cd GeminiChallenge
-
Install dependencies:
go mod download
-
Configure the API KEYS:
- Follow these steps to get the api keys.
export GEMINI_API_KEY=<gemini_api_key> export GOOGLE_API_KEY=<google_api_key> export SEARCH_ENGINE_ID=<search_engine_id>
-
Start the backend server:
go run ./cmd/main.go
-
Clone the repository:
git clone https://github.com/NIXBLACK11/GeminiChallengeFrontend.git cd GeminiChallengeFrontend
-
Install dependencies:
npm install
-
Start the frontend server:
npm run dev
- Open your browser and navigate to
http://localhost:5173/
to access the frontend. - Upload your resume and set your job preferences.
- Search for jobs and view the listings tailored to your profile.
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature-name
). - Make your changes and commit them (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature/your-feature-name
). - Open a pull request.