List of Projects MetPlus Project overview

Project overview

Updated about 6 years ago by Joao Pereira

Product overview

MetPlus is a non-profit that aim to help the people of Detroit, and hopefully Michigan, to find a job that suits them.  The vision of the client is to create one application(PETS) that would allow the users to find the a job and for companies to find employers.

The ultimate goal is to do a field test in Detroit and then try to get funding and support from the Michigan State in order to establish this application as the vehicle for the state to provide job seekers and job providers to communicate.

Another use of this system will be in Job Fairs where a Job Seeker approach a Employer he can give their email address in order to apply to a opportunity they have in the fair. This will allow Job Developer and the Auditor to track the opportunities that a Job Seeker is looking for.

The application will have 5 main actors:

  • Job Seeker - Someone that is looking for a job

  • Case Manager - Member of employement agency or program

  • Job Developer - The person from the organization that will help Job Seekers and Employers to communicate.

  • Employer - Person inside a company that will post jobs and check candidates

  • Auditor - External entity that will have access to information from the system

Features needed per actor:

  • Job Seeker

    • Create/Edit profile

    • Search/Apply to job opportunities online

    • During job fair approach employer to apply to opportunity

  • Job Developer

    • Create/Edit Job Seeker profile

    • Match Job Seeker and job offer

    • Accept and check Employers for legitimate opportunities

    • Contact Job Seeker when he is inactive for long period

    • Contact Employer when he is inactive for long period

  • Case Manager

    • Create/Edit Job Seeker profile

  • Employer

    • Create/Edit company profile

    • Create/Edit job offers

    • Find Job Seeker from a pool of possibilities(After a job is posted the system will try to match a group of Job Seekers with the Skills that are needed for that specific job and get that information to the user)

    • Access Job Seeker information using email address

  • Auditor

    • Check if Job Seeker is actively looking for job(Check if person should continue to receive help from the state or if he is no longer looking for job)

    • Other audit needs not yet specified

Solution overview

In terms of architecture the idea was to split the application into 2 separate components, a CV cruncher/storage and a web application. The development already started, but despite that is in a very early stage with a small amount of features implemented so we can still do some architectural and framework related changes.

The 2 components would communicate with a REST API. There are no major security requirements for the application because the information that would be saved is not confidential. Nevertheless the architecture should use SSL for connection between components and we should have a measure of security to make sure the CV repository is not accessible from an outside network.

Web application


This component will manage all the interactions between actors and hold all the business logic

Developing languages/framework

At this point the application was part was envisioned using Ruby On Rails for the backend and possible interactions with JQuery. AngularJS was equationated, but the level of knowledge on it was not high enough to be considered, but this can changed if there are people with more experience to help with it.

The backend of the application would be a Postgres database.

CV cruncher/storage


As the name states the main objective of this component is to process the CV. It should accept CV's in PDF and Word.

All the information relevant about the CV, as well as the file, would be store in this component and when needed it would be accessed by the web application via API.

The first approach for this component would be a simpler one where the processing would be done only based on counting words/expressions and saving that information to help match further on the line Job Requirements with Job Seekers.

Developing languages/framework

This component was envisioned using Java to allow the usage of Natural Language processing libraries.

Spring would be used in order to provide the RESTFull API links with the application

The backend of the application would be a NoSQL database, possibly mongo, because the amount of data saved will be quite big and the information might not be structured.



All the source code that we have is under AgileVentures organization and can be found in: - This repository contain the main web site code - This repository contain the cruncher service

The Issue tracker that we decided to use is Waffle:

Travis is the CI that we are using.


At this moment is still not defined because we are looking for a specific setup that would allow us to have the architecture previously defined. The budget is also a concern not allowing us to get a server, but that will have to change in the future.

Currently the application is deployed in Heroku in the address:



comments powered by Disqus