Coder Social home page Coder Social logo

job-nemt's Introduction

Usage

Here's a demo of the extension in action:

promo_alpha_01.mp4

Install Alpha V. 0.1.0

  1. Unzip job-nemt-alpha01.zip to a known location.
  2. Open a Chrome-based browser and type in chrome://extensions/ in address bar.
  3. Activate developer mode in the top right corner
  4. Press "Load unpacked" and find the folder "chrome-mv3-prod" that you unzipped from step 1.

Usage

  1. In the top right corner of Chrome, there's a puzzle piece icon where users can view all installed extensions. It's recommended to pin JobNemt using the pin button.
  2. The first time you open the extension, it will ask you for an API key. Use either your own OpenAI API key or ask the developer for a test key.
  3. Search for jobs easily on jobnet.dk :D

Development

This is a Plasmo extension project bootstrapped with plasmo init.

System Requirements:

  • Node.js 16.14.x or later
  • macOS, Windows or Linux
  • Chrome or Edge
  • Strongly reccomended to use pnpm as your package manager

Getting Started

First, run the development server:

pnpm dev
# or
npm run dev

Open your browser and load the appropriate development build. For example, if you are developing for the chrome browser, using manifest v3, use: build/chrome-mv3-dev.

You can start editing the popup by modifying popup.tsx. It should auto-update as you make changes. To add an options page, simply add a options.tsx file to the root of the project, with a react component default exported. Likewise to add a content page, add a content.ts file to the root of the project, importing some module and do some logic, then reload the extension on your browser.

For further guidance, visit our Documentation

Making production build

Run the following:

pnpm build
# or
npm run build

This should create a production bundle for your extension, ready to be zipped and published to the stores.

Submit to the webstores

The easiest way to deploy your Plasmo extension is to use the built-in bpp GitHub action. Prior to using this action however, make sure to build your extension and upload the first version to the store to establish the basic credentials. Then, simply follow this setup instruction and you should be on your way for automated submission!

job-nemt's People

Contributors

omarley7 avatar dependabot[bot] avatar

Stargazers

Christian Hasselbalch avatar

Watchers

 avatar

job-nemt's Issues

Enhanced Preview and Edit Functionality for Uploaded CVs

Objective: To improve the user experience in our tabs/uploadCV.svelte module by enhancing the preview functionality of uploaded CVs and providing an editable interface for parsed data.

Current State

  • The module currently displays the first 500 characters of the parsed CV, confirming successful parsing.

Proposed Enhancements

  1. PDF Preview: Display the full uploaded CV as a PDF by default (limited to 4 pages due to upload constraints).
  2. User Interface:
    • Introduce a button to toggle the view between the PDF and a side-by-side display of the parsed version.
    • Ensure user-friendly navigation between the PDF and parsed text views.
  3. Edit Functionality:
    • Allow users to edit the parsed version, which will be plain text.
    • Implement a simple and intuitive text editing interface.
  4. Saving Changes:
    • Provide a 'Save' button for users to save edits made to the parsed text.
    • Incorporate a clear visual confirmation for successfully saved changes.
  5. Data Handling:
    • Store the PDF and its parsed text using the format: setData({pdf: base64, parsed: text}).
    • Ensure compatibility with the existing data handling system, particularly with future considerations for multiple CV handling.
  6. Technical Constraints:
    • Limit PDF uploads to a maximum size of 20MB.
  7. Performance:
    • Ensure efficient handling and rendering of PDF files, respecting the 20MB size limit.

Future Considerations

  • Maintain compatibility with upcoming features, like support for multiple CV uploads. Avoid making changes to the way the stores/userCV.ts operates unless nessescary.

Accessibility and Usability

  • No specific accessibility or usability standards identified at this stage, but open to suggestions.

Request for Implementation

We seek a comprehensive implementation of these enhancements in a single development phase. This feature aims to significantly improve user interaction with our CV upload module, making it more intuitive and efficient.

Target File for Modification

  • The primary file that needs the most modification is tabs/uploadCV.svelte.

Development of Backend Middleware for API Call Forwarding and Subscription Management

Objective: To create a backend middleware system to handle and forward requests and responses between our Chrome Extension and OpenAI's API. This backend will initially serve as a direct pass-through to OpenAI, with additional functionalities in later stages.

Development Stages

  1. Initial Stage:
    • Set up a backend server to forward requests and responses to and from OpenAI's API, acting as a middleware.
  2. Future Stages:
    • Introduce token count management for multiple users and API key generation for paying users.

Specifics of Implementation

  1. Chrome Extension Configuration:
    • Implement an optional configuration within the Chrome Extension's options.svelte, allowing users to specify the URI for the backend server.
    • Default behavior: If no URI is specified, the extension defaults to direct OpenAI API usage.
    • Include error handling in jobChat.svelte for invalid URI inputs.
  2. Security and Privacy Considerations:
    • Ensure that the extension complies with Chrome Store policies on user data transmission.
    • Enforce HTTPS communication with the backend in production for secure data handling.
  3. Technical Specifications:
    • Technical preferences for the backend are open and flexible.

Request for Contributions

Seeking contributions for the initial development of this middleware, with an emphasis on security, efficiency, and user choice. This system will enhance our Chrome Extension's functionality, laying the groundwork for future subscription management and user features.

Development of Comprehensive Onboarding Documentation for New Developers

Objective: To create detailed and user-friendly documentation to facilitate the onboarding process for new developers joining the Chrome Extension project, which is built using Svelte and Plasmo frameworks.

Key Areas to Cover

  1. Project Overview:
    • Introduction to the Chrome Extension, its purpose, and functionalities.
  2. Technical Stack:
    • Detailed overview of Svelte and Plasmo, explaining their roles in the project.
  3. Development Environment Setup:
    • Step-by-step guide for setting up the development environment, including required tools and software.
  4. Codebase Walkthrough:
    • Comprehensive explanation of the code structure, key modules, and their functionalities.

Desired Outcomes

  • New developers should be able to quickly understand the project and start contributing effectively.
  • Reduction in the learning curve and initial setup time for new team members.

Sketch of architecture

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.