Skip to content

DeepMyst/Linkedin-Connector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LinkedIn Connector

A sleek, privacy-focused application that automatically extracts contact information from unstructured sources (photos, PDFs, business cards, Excel sheets) and facilitates LinkedIn connection management.

Features

  • LinkedIn Connection Agent

    • Extract names and affiliations from photos, Excel files, or PDFs
    • Search for and connect with LinkedIn profiles
    • Send personalized connection requests
  • Structured Knowledge Repository

    • Parse various input formats (business cards, slides, Excel files, emails, PDFs)
    • Store and organize contact information in a searchable database
    • Query contacts using natural language
  • Privacy-Preserving Design

    • Local processing option for sensitive data
    • Minimal data transmission to external services
    • User control over data retention

Getting Started

Prerequisites

  • Node.js 16.x or higher
  • npm 8.x or higher
  • A modern browser (Chrome, Firefox, Edge, Safari)

Installation

  1. Clone the repository:

    git clone https://github.com/DeepMyst/linkedin-connector.git
    cd linkedin-connector
    
  2. Install dependencies:

    npm install
    
  3. Create a .env file in the root directory with the following variables:

    REACT_APP_LINKEDIN_CLIENT_ID=your_linkedin_client_id
    REACT_APP_API_URL=http://localhost:8000/api
    
  4. Start the development server:

    npm start
    
  5. Open http://localhost:3000 to view the application

Building for Production

To create a production build:

npm run build

The build artifacts will be stored in the build/ directory.

Project Structure

linkedin-contact-extractor/
├── public/                 # Static files
├── src/                    # Source code
│   ├── views/              # Main view components
│   │   ├── ExtractView.jsx # Drag & drop file processor
│   │   ├── RepositoryView.jsx # Contact management
│   │   └── SettingsView.jsx # Application settings
│   │
│   ├── services/           # API and backend communication
│   │   ├── apiService.js   # API client functions
│   │   └── mockData.js     # Development test data
│   │
│   ├── theme/              # Styling and theming
│   │   └── linkedInTheme.js # LinkedIn Material UI theme
│   │
│   ├── utils/              # Utility functions
│   ├── App.jsx             # Main application component
│   └── index.js            # Entry point
│
├── package.json            # Dependencies and scripts
└── README.md               # Documentation

Backend Integration

This frontend application is designed to communicate with a backend API. For local development, it uses mock data to simulate API responses.

To connect to your own backend:

  1. Update the REACT_APP_API_URL in the .env file
  2. Modify the API service functions in src/services/apiService.js to match your backend API endpoints

LinkedIn Integration

To enable LinkedIn functionality:

  1. Create a LinkedIn Developer application at LinkedIn Developer Portal
  2. Configure OAuth 2.0 with the appropriate redirect URIs
  3. Add the Client ID to your .env file

Running Tests

npm test

Deployment

This application can be deployed to various hosting services:

Netlify

npm install -g netlify-cli
netlify deploy

Vercel

npm install -g vercel
vercel

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Material UI for the component library
  • React Dropzone for file upload functionality
  • LinkedIn for design inspiration

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published