Skip to content

NiqueWrld/LoopedIn

Repository files navigation

LoopedIn CV Generator

A modern web application that generates professional CVs from LinkedIn and GitHub profiles.

Features

  • Multi-source CV Generation: Combine data from LinkedIn and GitHub profiles
  • Real-time GitHub Integration: Automatically fetch repositories, languages, and profile information
  • Professional Templates: Clean, print-ready CV layouts
  • Export Options: Print or download generated CVs
  • Responsive Design: Works seamlessly on desktop and mobile devices

Tech Stack

Frontend

  • React 18 with TypeScript
  • Vite for fast development and building
  • Tailwind CSS for styling
  • Axios for API communication

Backend

  • Flask (Python) REST API
  • CORS enabled for cross-origin requests
  • GitHub API integration
  • Beautiful Soup for web scraping capabilities

Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • Python 3.8+
  • npm or yarn

Installation

  1. Install Frontend Dependencies

    npm install
  2. Set up Backend

    cd backend
    pip install -r requirements.txt

Running the Application

  1. Start the Backend Server

    cd backend
    python app.py

    The Flask server will run on http://localhost:5000

  2. Start the Frontend Development Server

    npm run dev

    The React app will run on http://localhost:5173

Usage

  1. Open the application in your browser
  2. Enter your LinkedIn profile URL (optional)
  3. Enter your GitHub profile URL (optional)
  4. Click "Generate CV" to create your professional CV
  5. Use the Print or Download buttons to save your CV

API Endpoints

  • GET /api/health - Health check endpoint
  • POST /api/generate-cv - Generate CV from provided URLs

Project Structure

loopedin/
├── src/
│   ├── components/
│   │   ├── CVGenerator.tsx
│   │   ├── CVDisplay.tsx
│   │   └── LoadingSpinner.tsx
│   ├── services/
│   │   └── api.ts
│   ├── types/
│   │   └── cv.ts
│   └── App.tsx
├── backend/
│   ├── app.py
│   └── requirements.txt
└── README.md

Known Limitations

  • LinkedIn scraping is limited due to platform restrictions
  • GitHub API has rate limits for unauthenticated requests
  • CV templates are currently limited to one design

License

This project is licensed under the MIT License. { files: ['**/*.{ts,tsx}'], extends: [ // Other configs... // Enable lint rules for React reactX.configs['recommended-typescript'], // Enable lint rules for React DOM reactDom.configs.recommended, ], languageOptions: { parserOptions: { project: ['./tsconfig.node.json', './tsconfig.app.json'], tsconfigRootDir: import.meta.dirname, }, // other options... }, }, ])