# Overview of the Job recommendation system, connection between entities in the _Forcepush_ domain ```plantuml skinparam linetype polyline skinparam maxMessageSize 100 'skinparam SequenceMessageAlign center title Job recommendation system overview Actor jobseeker rectangle users { Cloud site Cloud email } jobseeker --> site email --> jobseeker cloud "Internet" { rectangle ExternalAPIs rectangle PartnerFeeds rectangle "Old partner feeds\n not visible to preprocess" as oldpartnerfeeds package S3 { rectangle "Organic feed" as organic_feed } } cloud AWS { database Dynamo as dynamo <<dynamodb>> database "Reporting" as reporting <<mysql>> } package "Forcepush domain" as fp { package Jobrec as JobrecPackage { () jobrec <<http>> database "Personalization db" as jrec_personalize_cache <<redis>> database "Dedup cache" as jrec_dedup_cache <<redis>> } package Match { package "Compare " { () " " as compare <<http>> [Title vectorizer] } package "Recommend" { () " " as recommend <<http>> } [preprocess] as preprocess note "Multiple feed transformation tasks\n running in parallel, \nprocessing partner feeds and \norganic feed as well. \nIn the meantime enriches job infromation." as preprocess_note preprocess ..> preprocess_note recommend -[hidden]-> preprocess database JobDb <<ElasticSearch>> } rectangle "Job Enrichment related services" { package "Job Enricher" as je { database "Job Enricher Cache" as jecache <<redis>> () " " as jehttp <<http>> } package "Job Classifier" as jc { () " " as jchttp <<http>> } package "Company Enricher" as ce { () " " as cehttp <<http>> database companydb <<redis>> } package "Magellan Geocoder" as magellan { () " " as maghttp <<http>> } } rectangle "Crawlers" { database crawlerDb <<ElasticSearch>> package "Job Crawler Front End" as jcfe { } package "Job Crawler Back End" as jcbe { } jcfe -> crawlerDb : read jcbe --> crawlerDb : write jcfe -> organic_feed : write this feed as xml jcbe -> oldpartnerfeeds : process these feeds jcfe -> dynamo : write the jobs properties that are included in the sitemap/xml } } preprocess -( jehttp : enriches each job preprocess ---( maghttp : normalize location info preprocess -> organic_feed : reads preprocess -> PartnerFeeds : reads jobrec --( recommend : get jobs jobrec --( compare : vectorize 3rd party apis jobrec -> ExternalAPIs 'JobrecPackage -> reporting je --( jchttp je --( cehttp recommend --> JobDb : read preprocess -up-> JobDb : write site --( jobrec email --( jobrec site .> dynamo : Check the job in the job details page (== sitemap) url. Returns job properties,these will be somewhat mapped to the jobrec request. ``` ## Crawlers ### Job Crawler Backend Async ### Job Crawler Frontend Async ## Jobrec Sync ## Match ### Recommend Sync ### Compare Sync ### Preprocess Async ## Job Enrichment related services ### Job Enricher Sync #### Company Enricher Sync #### Title classifier Sync
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up