Skip to content

An example microservice-based web application that connects companies (customers) and professionals through job applications.

Notifications You must be signed in to change notification settings

Novant8/wa2-job-placement

Repository files navigation

How to Run

Option 1: Using Docker Compose [Suggested]

To run the application using pre-built images of each microservices from Docker Hub:

  1. Clone the repository
    git clone https://github.com/Novant8/wa2-job-placement
  2. Navigate to the project's root directory.
  3. Run the following command:
    docker compose up
  4. If you made changes in to the code and want to rebuild the images, use:
     docker compose up --build

The Docker Compose file ensures that all microservices are correctly linked and configured to communicate with each other.

Option 2: Manually

You can manually start each microservice by navigating to the root directory of each service.

Microservices

Service URL Path Description
Frontend http://localhost:8080 Hosts the React-based frontend of the application.
Document Store http://localhost:8080/document-store/API/... Manages documents uploaded to the application, such as CVs.
CRM http://localhost:8080/CRM/API/... Contains the application's business logic and customer relationship management functionalities.
Communication Manager http://localhost:8080/communication-manager/API/ Handles sending and receiving emails, connected through Gmail.
Monitoring http://localhost:3000/... Collects statistics on microservices and tracks key performance indicators (KPIs).

Users

Username Password Role
mario.rossi mario.rossi.g07 Manager
luigi.verdi luigi.verdi.g07 Operator
silvio.pellico silvio.pellico.g07 Operator
company.a company.a.g07 Customer
company.b company.b.g07 Customer
luca.rossi luca.rossi.g07 Professional
giovanni.mariani giovanni.mariani.g07 Professional

Workflow

  1. A user can register in the application and choose a role: Customer or Professional.

Customer Workflow:

  1. A customer can create a new job offer, specifying the duration and required skills.
  2. After the job offer is created, the customer waits for an operator to select a suitable candidate.
  3. The customer has the option to either reject the candidate or submit a contract for hire the candidate .
  4. If the professional accepts the contract, they can begin working for the customer.
  5. Once the customer believes the job is complete, they can conclude the job offer, making the professional available for other work.

Professional Workflow:

  1. The professional receives proposals for job offers selected by the operator.
  2. The professional waits for the customer to submit a valid contract.
  3. The professional can either accept the terms of the contract or reject the proposal.
  4. If the professional accepts, they can start working; otherwise, they remain available for other job offers.

FAQ

Can a professional be employed in more than one job at a time?

  • No, the design of the application allows a professional to work on only one job at a time.

How can I stay updated on the events of a job offer?

  • The application will send an email notification for each new event related to a job offer associated with you.

Who can see the statistics and KPIs?

  • Only managers have the privileges to view the statistics and KPIs.

Who can view the professionals' CVs?

  • Managers and operators can view every professional's CV.
  • No professional other than the uploader can view the CV.
  • The customers can only view the CVs of the professionals that have been assigned to their job offers.

Who can view the job contracts?

  • Managers and operators can view every job contract.
  • Only the customer and professional related to the specific job proposal can see the relative contract.

About

An example microservice-based web application that connects companies (customers) and professionals through job applications.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •