You are on page 1of 12

We are a HR company based in Baner, Pune and looking to develop a freelance Recruiters portal

with following tentative architecture.

We have Freelance recruiters who subscribe to the portal (free of cost) and work on the client JDs
(Job Descriptions) uploaded by us (admin) on the portal. We do the contract agreements with clients
who give us work (JDs) & freelance recruiters work on behalf of us on those JDs finding the suitable
candidates matching Job descriptions. If their sourced candidate is selected , then they get paid
commission from us once we receive the payment from clients.

The architecture of the platform to be developed includes 4 modules-

Module1. Sign up of the freelance recruiters, admin area uploading JDs on the portal and the JDs
appearing in user area.

Module 2. Freelance recruiters accepting the work and locking the JDs and choosing whether they
want to use their own database for searching candidates , say Naukri, Monster, Times job etc for
searching candidates- (These databases are independent and not integrated in our portal,) . The
freelancers may prefer to use our candidate database which is the proprietary DB of our company
(We have 20 lakh candidate’s database PAN India) . The part of the project is to integrate this
database to the platform and design different search filters to find the right candidates. Once
suitable candidates found, the Freelancer recruiters (users) fill the tracker sheet etc and sent the
candidate CVs, list, schedules etc to the clients via emailing system on the portal.

The development work is to design and develop the Freelance portal and the candidate database on
the same platform.

Module3: Form fillings, agreement drafts, chat support, landing page, reports, dashboard, user
ratings etc.

Module4_ candidate database of 20 Lakh candidates- search filters, limits, mobile numbers, email
IDs unlock etc.

Detail architecture is given below

Module1

Signup for Freelance Recruiters

Personal information:

First name
last name
personal email
mobile number
location
password (strength check, 1 upper case, 1 number, show password)
confirm password (show password)

Signup—check email…verify email

Sign in.

Work information

Highest qualification.
Graduation
date of birth
languages known (separated by comma)
attach adhar card
certificate of incorporation (if consultancy)
GST number and GST certificate (If consultancy)
No. of years Recruitment experience
currently employed for some organization as a full time employee? (Y/N)
are you a consultancy or an individual?
Own portal available? (Naukri, Monsterkkb Times jobs etc)
preferred industries to take JDs? (dropdown of industry sectors)

User bank details

name as per bank account


bank name
Account number
ifsc
account type
branch location

User info will be stored in master document in mongoDB collection, and retrieved at different times.

User to agree the terms & conditions, privacy policy by ticking the checkboxes (link of detail
documents next to the checkbox)

Welcome email to the user once accepts the terms and conditions/privacy policy. User to click the
link and redirect to sign in page. Once user signs in, should able to see all the live JDs till date in user
area.

Firstname.lastname@talenthr.in will be Business email generated for each newly added user.
(Roundcube/horde setting.) Need a cpanel plan with unlimited email users. Default password will
appear in user area. Once user changes the email password, should be stored in database without
encryption and admin should able to view it.

System will assign a unique user ID to each freelance recruiter along with a date/time of user got
added.

Admin area : Menu will have following:

A]

1. Recruiter Master: ( all user signup information in table format with applicable filters- 25
records on one page, with pagination…we expect around 500 users in one year) . Filter on-
user ID, category (A or B), First name, last name, location, consultancy/individual, preferred
industry sectors, own portal/our portal, CVs quality check is required for this user? (Y/N),
How many JDs a user can unlock in a day- 2, 4, 8, Detail JD (doc, pdf file sent by client) to be
shown to a particular user even if he or she is not accepting the JD? (Y/N),

CSV export- checkbox of which fields to export? (display all fields from user sign up form)

B]

New JD addition: The work will start with

Admin needs to fill up the JD information form with following boxes (few fields will be mandatory*,
others not)- edit option to all the fields in JD master. Edit will happen from JD master and reflect in
JD mster and user area instantaneously.

1. Assign category to the JD (A&B both, only “A”) – JD will be shown to both A&B category or
only A in their user area.
2. Compel user to use only our database for a particular JD—or use only their database etc.
(options in sr.no 21 below will change)
3. JD will get grey listed after how many users lock it- 1,2,3,4,5 ( Exclusivity is 1)- example-If
admin selects 5, then after 5 users lock the JD, only then the JD will get grey listed, not
before. Based on various contingent factors observed by admin, admin should able to alter
the status 1,2,3,4,5 etc anytime in between or during the day, and the change should be
instantaneously reflect in the user area.
4. CVs quality check required by Admin? (Y/N)
5. priority tag (P)—admin can assign it , if the JD is on fire. “Hot” in red colour at the beginning
of the JD line.
6. JD upload date-time (pick up from server clock, or local machine colander setting).
7. JD number (unique, random, 8 digit alpha numeric ID to be generated)
8. JD details—icon/symbol (attachment upload, or copy paste)
9. Title (text field)
10. Industry (dropdown of industries)
11. Client name (text field)
12. Salary (text field)
13. Experience (text field)
14. work location of JD (text field)
15. Rounds of interview (text field)
16. Notice period preference given by client (text field—no. of days, example- immediate joiner)
17. sign up rate with client (text field)
18. payment terms (text field)
19. Replacement period (text field)
20. number of submissions required (text field)
21. Your payout – three boxes for admin to choose (……….pay out if use our candidate database,
…………if use your own portal- naukri/monster/times job etc, absolute value payout—text
box……if use own portal, absolute value payout---if use our database.
22. Assured delivery required by client (TAT)- date (colander)--- time (12 hours AM/PM format)-
sync with JD upload date/time calendar.
23. remarks/comments by admin about JD
24. Client coordination: Delivery Email to client will be sent by whom?: {by user? , by admin?)—
If by user , then admin needs to input the “TO” email & “CC” emails of the client and spoc
name, mobile number…(visible to only the user who accepts the JD)
25. admin spoc—name/ number/email- (text field)- who in “To”, “CC”
26. JD status - open (not accepted by any user), pending delivery (accepted but not yet
delivered), delivery done-await client feedback, interview stage, offer stage, JD successfully
closed, rework (with reason)
27. If client wants only 1 spoc to coordinate with them centrally (instead of many recruiter
sending email), then admin will have to choose one of the two ahead- with a notification to
user: ”client wants only 1 spoc etc”, hence 1. Sending email should be from admin email ID
(CC to user) 2. Sending email should be from user email ID. (CC to admin)
28. Candidate credentials to be kept or removed while freelance recruiter doing the delivery/?
(Y/N)

Above information will be viewed in “list of JDs” of every freelance recruiters once uploaded by the
admin. It will be Horizontal stacked in a row with following details

JD will get white listed exactly in 24 hours if the delivery is not made on that JD.
The JD will move to “my workspace” of the user who has locked the JD.

If in the JD information form admin has put following details- “client coordination by user”,
then following information boxes will appear in “My workplace”. (1. Client spoc name,
client spoc mobile, spoc email, spoc designation).

The same JD will be grey listed for other users & they can’t be able to accept it…..However,
they still will be able to view the jd. The allocation is on the first come first click basis…..

C]

JDs Master: Source for JD master is “JD information form” filled up by admin. All JDs uploaded by
admin will appear in the table form horizontally stacked in a row. (default sort: by date). Once a user
accepts a JD, following fields will get updated in the JDs master:

1 The user ID which accepted the JD (if multiple users accept the JD, then every time a new
line will get created for the same JD number)
2 user name who accepted the JD.
3 date-time of accepting
4 assured delivery date-time
5 whether user has chosen to use with own portal/our database?
6 agreed pay out (depending upon user’s choice- own database/our database)
7 Delete the JD from JD master.
8 Change/edit: If later, admin feels that CVs quality check is required/ not required for a
particular JD, then delivery email should directly get sent to the client/ routed through
admin as applicable. We have said that user ID level CVs quality check status maintained will
supersede JD level status.
9 Change/edit: Client coordination – If later, admin feels, the delivery Email to client will be
sent by user/admin, then status can be changed—If by user , then admin needs to input the
“TO” email & “CC” emails of the client and spoc name, mobile number…(visible to only the
user who accepts the JD). A system generated notification email to be sent to user.
10 Change/edit: If later, admin feels that we need multiple deliveries for a JD, then admin can
change the settings, JD grey listing will happen after how many users lock it? (1,2,3,4,5)-
Exclusivity is 1. Sr.no 9 in admin settings.
11 Change/edit: If later, user requests admin to change his/her JD selection, then there will be
option in JD master to unlock/detach the given JD from the user ID. So the JD line will get
detached from the user, and the JD will be available for fresh locking for others. Once
detached, a system generated notification email will be sent to user. The JD status will be
“open”. Sr.no 13 in admin settings.
12 Change/edit: If later, user requests admin to allow him/her using our database while admin
had compelled user to use own database, then admin should be able to change the status in
the particular JD. A notification email to the user who accepted the JD with changed
payouts. If admin had given both choices (use own or our database) but user had opted to
use our database, & now changed his mind to use own database, then that’s not allowed!
Also 2,4,8 JDs for the day should have only one status to choose—own database or our
database.
13 Change/edit: If later, admin thinks that the assigned category to the JD needs to be changed
(A&B both, only “A”) – JD will be shown to both A&B category or only A in their user area.
14 Change/edit: If later, admin thinks that multiple users can coordinate with client together, or
vice versa, then admin will have a choice to update- 1. Sending email should be admin (CC to
user) 2. Sending email should be user. (CC to admin)
15 Change/edit: priority tag (P)—admin can assign it , if the JD is on fire. “Hot” in red colour at
the beginning of the JD line.
16 Change/edit: JD details—icon/symbol (attachment upload, or copy paste)
17 Once user updates “Feedback from client” in my workspace against a particular JD number,
a new field will get added, & shall reflect in the JD master.
18 Change/edit: JD status according to admin-
a. open (not accepted by any user)
b. pending delivery (accepted but not yet delivered)
c. delivery done-await client feedback
d. interview stage
e. offer stage
f. JD successfully closed
g. rework (admin can choose reasons for rework from a dropdown list, or can assign a
separate reason in the textbox.). If not a single delivery made by any user after the
assured delivery date, the status will change to “open”. (system will match the date-
time). Irrespective of system updates, the admin can manually change the JD status too.
Once user clicks “submit”, the JD status will change from pending delivery to “delivery
done- await client feedback”.

Rework reasons:

i]

Above will be newly updated fields in JD master table, also there will be all existing fields getting
copied from JD information table (given above). These copied fields along with newly added fields
will be editable and available for filters by admin. Filtered JDs CSV export- checkbox of which fields
to export? (display all copied and newly added fields).

D]

Admin settings: {Admin will have all the rights and privileges to edit the settings at user ID level or
JD level. JD level settings will be edited/updated from JD master.User level settings will be updated
from admin settings.All below settings are editable by admin)

Once user has signed up, Admin will assign following rights to new users or new JDs (This
information is not shown to the user). All change requests from user will be handled in Admin
settings. All changes desired by admin will be handled at JD master

1 User ID level: Change/edit: Categorize the user as “A” or “B”.


2. User ID level: Change/edit: How many JDs a user can unlock in a day- 2, 4, 8 (entirely
admin’s decision-depending upon following factors: user’s speed of delivery, quality of
delivery, relationship with admin team, bandwidth- few good consultancies having more
recruiters we might allow to unlock 4 or 8 JDs in a day etc. JD unlock cycle to rest midnight
12. If we have assigned 2 JDs to a particular user, and he or she delivers on 1 JD, then next
one more JD will be available unlock immediately. No new unlock allowed next day, if
previous JDs are not delivered. If admin deletes the JD for some reason, say due to no
response from the client on a JD or position is on hold by client, or closed by client etc and
admin deletes the JD, then the user is delinked from that JD and should be able to unlock
next fresh JDs instantaneously. (feel, JD number/ User ID are the primary keys for all these
cases)
3. User ID level- Change/edit: CVs quality check required? (Y/N)- Even if JD level CVs quality
check is “NO”, the particular user must send cvs to admin for quality check. This is a standby
setting.
4. User ID level: Change/edit: Detail JD (doc, pdf file sent by client) to be shown to a particular
user even if he or she is not accepting the JD? (Y/N)
5. User level: Change/edit: view/change user login password and email password.
6. User level: Unsubscribe user account for any reason.

Once admin updates these “user level settings”, they will appear in the Recruiter Master in
admin area.

How system will know when to make the JD status change? -Once delivery email is sent by user to
the client against a particular JD, that JD number will be matched- and status “delivery done”…this
status should be seen by all the users and not only the user who has accepted the JD. (grey listed,
white listed) will be changed in list of JDs. If user makes a delivery on 1 JD out of 2, then another JD
can be picked up.

JD details

User login the account- left pan two tabs- 1. List of JDs 2. My workspace
Module2

What will be seen in “list of JDs” tab in user area? All this information is picked up from JD
information form in admin area

1. JD number
2. CVs quality check required by Admin? (Y/N)
3. priority tag (P)—admin can assign it , if the JD is on fire. “Hot” in red colour at the
beginning of the JD line.
4. JD upload date-time
5. JD details—icon/symbol
6. Title
7. Industry
8. Client name
9. Salary
10. Experience
11. work location of JD
12. Rounds of interview
13. Notice period preference given by client
14. sign up rate with client
15. payment terms
16. Replacement period
17. number of submissions required
18. Your payout –(……….pay out if use our candidate database, …………if use your own portal-
naukri/monster/times job etc, absolute value payout—……if use own portal, absolute
value payout---if use our database.
19. Assured delivery required by client (TAT)- date (colander)--- sync with JD upload
date/time calendar.
20. remarks/comments by admin about JD
21. Delivery Email to client shall be sent by whose email ID?: {by user/ admin)
22. admin spoc—name/ number/email- - who in “To”, “CC”
23. JD status- open (not accepted by any user), pending delivery (accepted but not yet
delivered), delivery done-await client feedback, interview stage, offer stage, JD
successfully closed, rework (with reason)

Above information will be viewed in “list of JDs” of every freelance recruiters once uploaded by the
admin. It will be Horizontal stacked in a row with following details

5 —JD details-clickable link, html JD page will appear


14 to 19—stacked together in a html page once user clicks on “Terms”

Once any user clicks on “Lock for me” button , 3 checkboxes to tick-
1 Checkbox—Would you like to use “own portal” or “Our database”? – (……….pay out
if use our candidate database, …………if use your own portal- naukri/monster/times job etc,
absolute value payout—text box……if use own portal, absolute value payout---if use our
database.
2 Checkbox- “I accept the assured delivery date” (My rating will drop in case I miss the
assured delivery date, also the JD will be given to other users)

3 Checkbox--”I accept the terms of JD”.

Summary sheet will get emailed to the user from admin ID.(Thanks for accepting the JD… JD number,
agreed pay out, own database/admin database, assured date of delivery by user, Terms summary-
signup rate with client, replacement clause, payment terms, number of submissions required etc).
JD number will be clickable link will jump to JD details in user area.

The JD will move to “My workspace” of the user who has locked the jd. It will have following
headers.

User Feedback
ID/user JD number of from
Sr.no JD number name details candidate form submissions Submit client offer

Once JD accepted by a particular user, the document will move to the user area “My workplace”
page.

JD details will be clickable—& a page will appear which will pick up all the details from JD
information form and display it on the page

candidate information form -- will be clickable—& a page will appear which will have an option to
add candidates.

Candidate information form” to be filled by user as a tracker sheet – which will have following info
for each candidate: (edit/delete option against each field)

1. JD number (picked up from DB)


2. client name: (picked up from JD number)
3. title (picked up from JD number)
4. JD location (picked up from JD number)
5. Recruiter’s ID (picked up from User Account)
6. candidate name (text field)
7. current salary (text field- limit 500 characters)
8. expected salary (text field—notification—please mention negotiable expected salary)
9. experience (text field- limit 500 characters)
10. current organization (text field- limit 500 characters)
11. current location (text field)
12. notice period (text field- notification—please mention negotiable notice period)
13. reason for change (text field- limit 500 characters)
14. candidate availability for the interview (text field)
15. recruiter’s remarks (text field)

There will be a button -- Add candidate. There will be edit/delete option against every field.

If 2-3 candidates are added, then there will be “table view” to see the tracker sheet in excel and an
option for csv export. Fields 2 to 14 are contained in the tracker sheet.

Minimum two candidates are required- without which system will not accept delivery.

Candidate info will be stored in mongoDB collection against the jd number and user ID.

Submit: once clicked on submit, a ”Email set up” page will appear. There will be standard template
how email is sent to client. There will be a default “from”, “to” and “cc” filled up data will appear in
case the client coordination is to be managed by recruiter….(“from” will be the users business email
ID assigned by TTHS, “To” will be “client spoc’s” email picked up from “JD details” along with cc, if
applicable, also picked up from JD details. Default CC will be marked to admin). If delivery Email to
client will be sent by admin, then sending email “from” will admin email ID, & user will be marked in
CC with client TO/CC unchanged. There will be a mandatory attachment of CVs to be uploaded by
user from their local machine, without which the email form won’t be accepted for submission. The
number of “candidates added” by user should be greater than or equal to the number of
attachments. There will be csv tracker sheet picked up from “candidate information form” placed in
the body of the email. (There needs to be an email design ribbon which is a standard feature of
email templates). The standard text body of the mail to be sent to client will be stored in the
template with the signature of user/admin as applicable. When the mail is sent, the submit status in
user area will turn green with a date-time of submission appearing alongside. Admin area will be
updated with a status “submitted”. If quality check is to be done by admin, the email panel will
appear only admin email ID in “TO”. User will send email to admin and discuss offline about the
quality of cvs, and once ok, admin will click the button approve CVs for quality in “JD master”. Then
recruiter can submit delivery email to client. If recruiter tries to submit delivery email to client
without cvs quality check, then there should be an error message.

Once submission is done, the user will be entitled to accept a new JD.

Once JD is accepted by user, an acknowledgement email will be sent to client—saying we are


initiating the work and giving delivery date/time, mentioning spoc name, recruiters name/mobile.—
cc to recruiter and admin. Acknowledgement email to the client should go only after the first unlock,
not every time from admin email (with user in BCC).

Feedback from client : The user is required to check mailbox frequently for clients feedback &
update client’s feedback in detail with boxes on date, time, text entry of clients feedback, edit,
delete, with their comments and remarks, if any-- add row. New line. Once user updates client
feedback, the same will be reflected in the admin area instantaneously- JD master.

JD status according to user: User needs to update the JD status in his/her view

a. open (not accepted by any user)


b. pending delivery (accepted but not yet delivered)
c. delivery done-await client feedback
d. interview stage
e. offer stage
f. JD successfully closed
g. rework (admin can choose reasons for rework from a dropdown list

This will reflect in JD master in admin panel- with a tab JD status according to user:

Offer: form with following details (submit, edit, reset)

1. offer candidate name


2. offered designation
3. candidate work location
4. offered ctc
5. sign up rate (picked up from JD)
6. base invoice value (offered ctc*sign up rate)
7. offer accepted (Y/N)
8. DOJ—dd/mm/yyyy
9. Resigned (Y/N)
10. Copy of resignation received (Y/N)
11. User incentives (will be calculated by formula if %),-- please discuss with admin, if absolute
value.
12. Joined (Y/N)
13. User comments/remarks

Offer status will be updated in admin panel.

Module3:

Performance & security features- Ssn, cdn, cloudflare,

Client Agreement filling by admin: following input: Date of agreement, validity, client name, client
address, sign up rate, payment terms, replacement period, special clauses. The template will be
filled with above information in blank spaces by admin- the output file will be generated in pdf/doc
with file name as agreement_ client name_ date.

Freelance contract agreement filling by admin: name of user, date. The template will be filled with
above information in blank spaces by admin- the output file will be generated in pdf/doc with file
name as agreement_ user name_ date.

Search filters for users to select JDs: (Both “list of JDs” and “my workspace”) select on date (date
range from-to), industry (list of industries in dropdown), salary (range in INR lakhs- from -to),
location (standard city database to add), client, keyword of title. Sort- ascending/descending on
date. Pagination with 25 JDs per page. Admin has rights to delete/edit “list of JDs” section- user only
viewing rights.
Green dot at the beginning for active/live JDs. Red if JD closed.

Live Chat support – conversation Between user and admin. {example-https://collect.chat/pricing/)

Landing page: Already exists from the current website, need to add few pages, links, images, text
etc. add Quick Guide, Help, Support, Freelance process, FAQ. Rating system

Reports: admin- JD master filters and csv download- along with “choose from fields” for admin to
select which fields to export . JD master filters on all fields- all filters, sum of base invoice value to be
calculated.

User- “My workspace”- filters on all fields also filters in “offer”, filters in “list of JDs” for users –user-
all similar filters only for his/her user id. (admin will see cumulative user ID)

Dashboard: user- Buttons for today, this week, this month, last month, last quarter, last year
user dashboard blocks-

1. No. of mobile numbers/emails viewed (if used our portal)


2. No. of JDs locked
3. No. of JDs at interview stage
4. No. of successful closures
5. No. of JDs at offer stage
6. No. of JD delivered but feedback pending from client
7. No. of JD rework
8. My user rating

All above information to be picked up from JD master.

User area settings: my profile, password, themes, unsubscribe.

Notifications: There will be footnotes and notifications for good user experience.

Payment link- insta mojo to pick up bank details from DB commence payment to user.

blocks- no. of JDs handled, successful submissions/deliveries, no. of offers, total incentives earned.
(weekly notification email to user giving summary of blocks in dashboard)

User rating : admin will manually rate user

User settings: my profile, password, themes

Module4 Button at right top- candidate database (use subdomain or similar arrangement)
Will be shown disabled for the day if user chooses “own portal”….(both JDs accepted by user must
have similar choice of portal)

Search filters— (sample- app.cloudlead.ai)

First name
last name
title
current company
previous company
current salary
experience
industry
functional area
gender
linkedin URL
current location
preferred location
keywords (all, any)
notice period
education

DB- mongodb

Limits- 50 mobile numbers viewing/ unlocking/csv downloading per day per user. Emails come free
(wherever available) along with mobile number inventory consumption. Unlocked contacts to
move in my watch list for csv download. UI similar to app.cloudlead.ai

Checkbox—candidates with only mobile number, Only email, both, null.

Pagination- 25 candidates view per page.

Need user login logs (date-time), search history (string of searches applied by user on a date-time of
a day) in admin DB- to check whether user has used our database for a genuine work on our JDs or
has used it wrongly for personal JDs.

Ensuring data security from scarping- emails and mobiles should not get scraped more than the daily
limit- checks whether email/mobile data is getting scraped/parsed/extracted by automated software

You might also like