MatchCV is a full-stack application with Node.js, Python, and Ballerina backend services, along with a modern frontend, designed to help users find the right jobs based on their skills, qualifications, and experience, while allowing companies to manage users, job postings, and CV matching efficiently.
- Install Node.js
Ensure that Node.js (LTS version recommended) is installed on your system. You can download it from the official Node.js website (https://nodejs.org/)
- Set up MongoDB
Make sure MongoDB is running, either as a local instance or using a cloud-hosted database (e.g., MongoDB Atlas). You can download MongoDB from the official website (https://www.mongodb.com/try/download/community).
Navigate to the backend MongoDB service:
cd backend/mongo_server/Create a .env file in the backend/mongo_server/ directory (refer to .env.example) and make sure you add the corresponding URI for the MongoDB initialized above. Additionally, set your desired ADMIN_EMAIL and ADMIN_PASSWORD values which can be used to sign in as admin to the system.
Install dependencies and seed the database:
npm install
npm run seed
npm start- Install Python
Ensure that Python (version 3.7 or higher recommended) is installed on your system. You can download it from the official Python website (https://www.python.org/downloads/)
- Install Poppler:
- Linux:
sudo apt-get install python-poppler
- Windows:
- Download Poppler from https://github.com/oschwartz10612/poppler-windows/releases/tag/v24.08.0-0
- Unzip the downloaded file
- Add the
binfolder to your system PATH
- Linux:
Navigate to the PDF service:
cd backend/pdf_serverCreate a virtual environment, activate it, and install dependencies:
python -m venv venv
venv\Scripts\activate # Windows
# or
source venv/bin/activate # Linux/macOS
pip install -r requirements.txtRun the Python service:
python main.py-
Install Ballerina Swan Lake
Download and install Ballerina from the official website (https://ballerina.io/downloads/)
-
Obtain your Gemini API Key
Get your Gemini API key from Google AI Studio (https://aistudio.google.com/)
-
Create Config.toml
Create
Config.tomlin thebackend/directory (refer toConfig.example.toml) and add the obtained Google API key. -
Run the service:
cd backend bal run
- Navigate to the frontend folder:
cd frontend- Install dependencies and start the development server:
npm install
npm run dev- Open the frontend in your browser using the localhost port displayed in the terminal.
- Sign up as a company.
- Login to the company dashboard.
- Submit verification documents.
- Companies cannot post jobs until verified by an admin.
- Await verification.
- Admins review submitted documents and approve or reject the company.
- Post jobs once verified.
- Login using pre-configured credentials (set during Node Service Setup in the
.envfile). - Review verification requests from companies.
- Approve or reject company verification submissions.
- Sign up as a user.
- Login to the platform.
- Upload CV to showcase skills and qualifications.
- Search for jobs.
- Users receive filtered and ranked job listings based on their CV and skills using AI-powered matching.
- Make sure all services are running simultaneously for full functionality.
- Seed scripts populate default data for users, tags, and jobs.
- Use
main.bat(Windows) for Python setup automation if desired.