Select new section for the document
Project overview
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
Description
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
Description
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.
Development
Tools:
All the source code that we have is under AgileVentures organization and can be found in:
https://github.com/AgileVentures/MetPlus_PETS - This repository contain the main web site code
https://github.com/AgileVentures/MetPlus_resumeCruncher - This repository contain the cruncher service
The Issue tracker that we decided to use is Waffle:
https://waffle.io/AgileVentures/MetPlus_tracker
Travis is the CI that we are using.
Deployment
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: http://pets-dev.herokuapp.com/
Joao Pereira updated "Project overview" over 5 years ago
Joao Pereira updated "Project overview" over 5 years ago
Joao Pereira updated "Project overview" about 5 years ago
Joao Pereira updated "Project overview" over 4 years ago
Sub-documents
- To-Do - created by Patrick Bolger over 5 years ago
- Roles and interactions - created by Joao Pereira over 5 years ago