Skip to content

B1910380-PhamMinhHoang/CVs_Management

Repository files navigation

CVs Management Application

A small application using the microservices architecture and Natural Language Processing field manages interviewees' CVs more efficient.

Technologies: VueJs, Flask, Docker.

Architecture: Microservices.

Special knowledge: Natural Language Processing, Machine Learning.

Architecture of the application:

image

Folder structure:

  • Frontend-microservice: contains source code of the user interface (UI) for interviewer to access and manage interviewees' CVs.
  • Folder-microservice: contains source code of the folder service managing folder information.
  • CV-microservice: contains source code of the CV service managing CV information.
  • Preprocessing-microservice: contains source code of the service preprocessing text before using the text in a CV.
  • Inverted-index-microservice: contains source code of the inverted index dictionary service managing words/terms and information about CVs contain words.
  • Search-engine-microservice: contains source code of the search engine service providing the searching CVs function.
  • Resume-examples: contains some example CVs for you to test the application.

How to run the application:

  1. You can clone this repository to your local computer.
  2. At the folder where the docker-compose.yml file is located, you execute the command "docker-compose up --build" in the terminal to run containers (services) which requires your computer has installed Docker. (Currently running the docker compose file is having an error, you can run each service individually to check)
  3. Then you can use the user interface of the application as an employer via the link http://localhost:5173/

Current issues:

  • Having communication problems between microservices, between containers in Docker (a service can't send HTTP requests to others service using requests library). image

  • Can't access the frontend service if I create the container by running the docker-compose file.

  • Can't create the search-engine-service service because it can't install the numpy library if I create the container by running the docker-compose file. image

  • Haven't used a database.

Current results:

  • Each microservices work well when testing each microservice individually.

  • Interviewees can upload CVs and their information to the application via the frontend-microservice. image

  • Interviewers can manage CVs and folders by using the user interface.

    • See all folders: image
    • See all CVs of a folder: image
    • See detail of a CV: image
    • After clicking the "More detail" button: image
    • See the form that will be sent to Interviewees: image
  • Interviewers can manage CVs via the cv-microservice. image

  • Interviewers can manage CVs' folder via the folder-microservice. image

  • The application can preprocessing text via the preprocessing-microservice. image

  • The application can convert text into a vecto using TF-IDF via the inverted-index-microservice. image

  • The application can search for CVs with a query via the search-engine-microservice.

Plans for future:

  • Using databases to manage data.
  • Implementing the job recommendation function for CVs.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published