This is a full-stack project built using Flask as the backend framework and Next.js for the frontend. The project integrates with the LinkedIn API to fetch user profile data and display it on a portfolio page. It allows users to input a LinkedIn profile URL, retrieves the relevant profile data, and displays it in a well-structured portfolio format.
The backend uses Flask and the linkedin-api
library to interact with LinkedIn, while the frontend is built using Next.js to provide a responsive UI displaying the fetched data, such as personal details, experience, education, projects, skills, and certifications.
Backend:
The backend, powered by Flask, includes a REST API to fetch LinkedIn profile data using the linkedin-api
library.
Frontend:
The frontend uses React and Next.js to display the fetched LinkedIn profile data in a user-friendly portfolio layout.
backend/
: Contains the Flask application and API logic.frontend/
: Contains the Next.js frontend code to display the portfolio.requirements.txt
for other dependenciesClone the repository:
git clone https://github.com/Namit2111/Linkedin-to-resume
cd backend
Create a virtual environment:
It is recommended to use a virtual environment to manage dependencies.
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
Install dependencies:
Use the requirements.txt
file to install all required libraries.
pip install -r requirements.txt
Configure LinkedIn API credentials:
Ensure you have your LinkedIn username and password configured in the config/config.py
file:
l_username = "your_linkedin_username"
l_pass = "your_linkedin_password"
Run the Flask server:
flask run
The server will be running at http://127.0.0.1:5000/
.
Navigate to the frontend
directory:
cd ../frontend
Install Node.js dependencies:
Make sure you have Node.js installed. Then install the required dependencies using npm or yarn:
npm install
or
yarn install
Run the development server:
After installing the dependencies, start the Next.js development server:
npm run dev
This will start the frontend at http://localhost:3000
.
/api/linkedin/get-data
endpoint with a LinkedIn profile URL.linkedin-api
library to fetch the LinkedIn profile information.After setting up both the backend and frontend, you can run them concurrently:
Start the Flask backend:
cd backend
flask run
In another terminal, start the Next.js frontend:
cd frontend
npm run dev
You can now access the frontend via http://localhost:3000
and interact with the backend API to fetch and display LinkedIn profile data.