The following is an outline and description of the database tables created during the standard installation of SocialNetworkSoftware. Currently, the only database supported by SocialNetworkSoftware is MySQL version 4.1.2 or greater.
Database diagram below provides a visual overview of the SocialNetworkSoftware database and the relations between the tables created during its standard installation.
Tables Description
The following are the specific fields in each of the tables created during the standard SocialNetworkSoftware installation.
Integrate your job board with external systems and mobile apps using the ejobsitesoftware.com REST API. Authenticate users, search and apply for jobs, post jobs, and read resumes and application history — all through simple HTTP endpoints. Below is the full endpoint reference with parameters and examples.
The ejobsitesoftware.com API is a set of REST endpoints that let external applications and mobile apps talk to an ejobsitesoftware.com job board — logging users in, registering job seekers, searching jobs, applying to jobs, posting jobs, and reading resumes and application history. Requests are made as HTTP POST calls, and most actions are protected by an access key you obtain when a user logs in.
Base URL (demo)https://www.ejobsitesoftware.com/jobboard_demo/app/
On your own installation, replace the demo host with your domain — for example https://your-jobboard.com/app/. The endpoint paths stay the same.
Authentication
How access keys work
Most endpoints require an access key. The flow is simple.
Log in
POST to jobseeker_login or recruiter_login with email and password.
Get an access key
On success, the response returns an access_key for the session.
Call & log out
Send access_key with each request, then logout to end the session.
curl — job seeker login
curl -X POST "https://www.ejobsitesoftware.com/jobboard_demo/app/jobseeker_login/" \
-d "act=check" \
-d "email_address=you@example.com" \
-d "password=your_password"# success returns an access_key to use on later calls
Quick reference
All endpoints at a glance
Every endpoint uses the POST method. Full parameters are listed in the sections below.
ejobsitesoftware.com API endpoints (base path /app/)
Method
Endpoint
Purpose
Auth
POST
/jobseeker_login/
Log a job seeker in
—
POST
/recruiter_login/
Log a recruiter in
—
POST
/logout/
End the session
access_key
POST
/jobseeker_info/
Get logged-in job seeker info
access_key
POST
/jobseeker_reg/
Register or update a job seeker
partial
POST
/jobseeker_resumes/
List a job seeker’s resumes
access_key
POST
/search/
Search jobs
—
POST
/apply_job/
Apply to a job
access_key
POST
/applyed_jobs/
List applied jobs
access_key
POST
/job_countries/
List job countries
—
POST
/recruiter_info/
Get logged-in recruiter info
access_key
POST
/add_job/
Post a job
access_key
Reference
Endpoints in detail
Parameters marked required must be sent; optional ones may be omitted.
Authentication
POST/app/jobseeker_login/
Authenticate a job seeker and receive an access key.
actrequired — set to check.
email_addressrequired — the job seeker’s email.
passwordrequired — the account password.
POST/app/recruiter_login/
Authenticate a recruiter and receive an access key.
actrequired — set to check.
email_addressrequired — the recruiter’s email.
passwordrequired — the account password.
POST/app/logout/
End the current session.
access_keyrequired — the session access key.
Job seeker
POST/app/jobseeker_info/
Return the logged-in job seeker’s profile information.
access_keyrequired — the session access key.
POST/app/jobseeker_reg/
Register a new job seeker or update an existing profile.
actrequired — register for a new account or update to edit.
email_addressrequired — the job seeker’s email.
passwordrequired — required for a new registration.
access_keyupdate — required when updating an existing profile.
first_namerequired — the job seeker’s first name.
last_nameoptional — the job seeker’s last name.
address1required — address line.
countryrequired — numeric country id.
stateoptional — state or region.
cityrequired — city.
mobileoptional — mobile number.
POST/app/jobseeker_resumes/
List the resumes belonging to the logged-in job seeker.
access_keyrequired — the session access key.
Returns: an array of resume_id and resume_title on success.
POST/app/apply_job/
Apply to a job with a selected resume.
access_keyrequired — the session access key.
job_idrequired — the job to apply to.
resume_idrequired — the resume to submit.
POST/app/applyed_jobs/
List the jobs the job seeker has applied to.
access_keyrequired — the session access key.
Returns:jobID, apply_id, job_title, and apply_date on success.
Recruiter
POST/app/recruiter_info/
Return the logged-in recruiter’s profile information.
access_keyrequired — the session access key.
POST/app/add_job/
Post a new job to the board (recruiter access key required).
access_keyrequired — the recruiter session access key.
job_titlerequired — the job title.
job_countryrequired — numeric country id (existing on site) or free text.
job_short_descriptionrequired — a short summary.
job_descriptionrequired — the full job description.
referenceoptional — free-text reference.
stateoptional — free-text state.
locationoptional — free-text location.
salaryoptional — free-text salary.
job_industryoptional — numeric industry id (existing on site).
job_experienceoptional — experience in months (numeric).
job_typeoptional — existing job type on site.
skillsoptional — job tags/skills.
job_durationoptional — number of days to show the job (numeric).
Search & data
POST/app/search/
Search jobs with optional filters and paging.
actrequired — set to search.
keywordoptional — search term.
countryoptional — country filter.
stateoptional — state filter.
locationoptional — location filter.
job_categoryoptional — numeric category id (existing on site).
start_indexoptional — result start position; defaults to 0.
POST/app/job_countries/
List the countries available for jobs.
actrequired — set to list.
Returns:id and name for each country on success.
Example
Posting a job
A recruiter posts a job with the required fields after logging in.
curl — add a job
curl -X POST "https://www.ejobsitesoftware.com/jobboard_demo/app/add_job/" \
-d "access_key=RECRUITER_ACCESS_KEY" \
-d "job_title=Senior PHP Developer" \
-d "job_country=US" \
-d "job_short_description=Build and maintain our job board" \
-d "job_description=Full description of the role..." \
-d "salary=Competitive" \
-d "skills=PHP,MySQL,REST" \
-d "job_duration=30"
Tip: numeric-id fields like job_country, job_industry, and job_category accept ids that already exist on your site. Some fields (like job_country) also accept free text. Check the database description for valid ids.
Answers
Frequently asked questions
What is the ejobsitesoftware.com API?
A set of REST endpoints that let external applications and mobile apps integrate with an ejobsitesoftware.com job board — logging users in, registering job seekers, searching jobs, applying to jobs, posting jobs, and reading resumes and application history.
What is the API base URL?
Endpoints live under the /app/ path of your job board. The demo uses https://www.ejobsitesoftware.com/jobboard_demo/app/. On your own install, replace the demo host with your domain, e.g. https://your-jobboard.com/app/.
How does authentication work?
Call the login endpoint (jobseeker_login or recruiter_login) with email and password. On success you receive an access_key. Pass that key with later requests, and call logout to end the session.
What format are the API requests?
HTTP POST calls with parameters. Several endpoints also take an act parameter to select an action, such as act=check for login or act=search for search.
How do I post a job through the API?
Use add_job with a valid recruiter access_key. Required fields are job_title, job_country, job_short_description, and job_description, with optional fields like salary, location, industry, experience, skills, and duration.
How do I search for jobs?
Call search with act=search and optional filters such as keyword, country, state, location, and job_category. Use start_index to page through results; it defaults to 0.
Can job seekers apply through the API?
Yes. After logging in, list resumes with jobseeker_resumes, then call apply_job with the access_key, job_id, and resume_id. applyed_jobs returns the application history.
Where are the rest of the developer docs?
The wiki links the full developer documentation — theme development, the database description, the function reference, and the class reference — which support custom development and integrations.
Authenticate, search, apply, and post jobs from any app — with full source code and documented endpoints. Try the demo, or explore the wider developer wiki.
Developer Wiki & Documentation: API, Themes & Reference | ejobsitesoftware.com
Support · Developer wiki
Developer wiki & documentation
Everything you need to build on, extend, and customize ejobsitesoftware.com job board software — in one place. Dive into the API reference, learn theme development, and explore the database, function, and class references, backed by step-by-step tutorials.
API reference Theme development Full source code Tutorials
About ejobsitesoftware.com software
ejobsitesoftware.com is a web-based application that lets you quickly deploy a fully functional, advanced job board or job site. It can power niche job sites for specific countries, regional job sites, or a general job site — and because it ships self-hosted with full source code, every deployment can be customized to the client’s requirements. This wiki is where developers find the references and guides to do exactly that.
Documentation
Start building
Guides for customizing the look and behaviour of your job board.
Developer guides
ejobsitesoftware.com API
Endpoints for job posting, imports, users, search, and applications.
The ejobsitesoftware.com API lets you post and import jobs, manage users, search listings and resumes, and submit applications from external systems and mobile apps. Pair it with the database, function, and class references for deeper custom development.
The developer documentation hub for the job board software. It gathers the API reference, theme development guide, database description, function reference, class reference, and tutorials in one place so developers can build on and customize the platform.
What is ejobsitesoftware.com software?
A web-based application that lets you quickly deploy a fully functional, advanced job board or job site — for a specific country, a region, or a general audience — customized to each client’s requirements.
Where is the API documentation?
The ejobsitesoftware.com API section documents endpoints for job posting, imports, user management, search, and application submission, supported by the database, function, and class references for deeper integration.
How do I develop or customize a theme?
The theme development guide explains how to build and customize the look of your job board — layouts, templates, and styling — so you can match your brand.
What are the database, function, and class references?
The database description documents the data structure, the function reference lists available functions and their usage, and the class reference documents the classes in the codebase — together supporting custom development.
Is there a tutorial to get started?
Yes. The tutorial section walks you through getting started, and you can try the live demo to explore features hands-on before diving into the code.
Do I get the full source code?
Yes. ejobsitesoftware.com is self-hosted and ships with full source code, so developers can read the references, customize the platform, and integrate it with other systems.
Where can I try a demo?
Explore the software in the live demo linked throughout the site — it lets you see the job seeker, employer, and admin areas before you build.
Build a custom job board theme with complete control over layout, presentation, and design. This developer guide walks through the theme structure of ejobsitesoftware.com software — how the homepage renders, which files a theme needs, and how the header, footer, and helper files fit together — with real code examples.
This is a technical document. Developing a custom theme requires a good knowledge of advanced PHP, HTML, CSS, and JavaScript, and isn’t meant for non-technical users. If you’d rather not code, browse the ready-made theme gallery or read what themes are and how to change them.
What are ejobsitesoftware.com themes?
Themes are a collection of PHP scripts, HTML/CSS files, and images that live under the themes folder at the site root, in a folder named after the theme. For example, a theme called Demo lives at ROOT/themes/demo. The theme files are interlinked and hooked together to form the actual website.
Why develop themes
Reasons to build your own
Total control
Own the layout, presentation, and every design element.
Tweak existing themes
Adjust a gallery theme to your own and your domain’s taste.
Unique requirements
Build for needs too specific to find in the theme gallery.
Migrate a site
Move from a non-platform site to an ejobsitesoftware.com-powered one.
Out-of-box ideas
Implement creative concepts on top of the software.
Reusable structure
Create a robust, extensible base you can build on.
Theme structure
How the homepage renders
A minimal theme needs just two files — and the homepage is rendered at two levels.
The two essential files are text.htm, which is responsible for the basic layout of the homepage — where the banner, menu, footer, and other elements are placed — and home.php, which paints what resides inside those elements, like the login form, job search, welcome text, and latest jobs section.
text.htm — the structure
This file controls the homepage structure. It looks like an HTML file with placeholders enclosed in curly braces (for example {PLACEHOLDER}). The basic website structure is clear from it.
The text.htm layout, with placeholders marking where each homepage element goes.
home.php — the content
This file controls what’s inside each placeholder. It substitutes whatever HTML needs to go in place of the placeholders in text.htm, using the assign_vars method of the $template object of the Template class. To assign HTML to {PLACEHOLDER}, generate the HTML into a variable (say $placeholder_html) and assign it:
For a full-featured theme — not just a static homepage — add a few more files for a robust, extensible structure.
Every website has two elements global to all pages: the header and the footer. They must appear on every page. A file called body.php (not itself a theme file) assigns values to the {HEADER_HTML} and {FOOTER_HTML} placeholders — just like home.php — and is included on every page automatically.
body.php — assigns the global header & footer
<?php
$template->assign_vars(array(
'HEADER_HTML' => HEADER_HTML, // defined in header.php'FOOTER_HTML' => FOOTER_HTML // defined in footer.php
));
?>
header.php
The header is a global element covering everything up to the opening <body> tag (the DOCTYPE, opening HTML tag, and HEAD section), the banner HTML (which includes the site logo), and the menu bar HTML. A minimal header.php defines the data for {HEADER_HTML}.
header.php — minimal
<?phpdefine('HEADER_HTML', '<!DOCTYPE html>
<html lang="en">
<head>
<!-- meta tags -->
<!-- CSS calling -->
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top">
<div class="container">
<div id="banner"><!-- BANNER DATA --></div>
<ul id="menu">
<li><!-- MENU ITEM 1 --></li>
<li><!-- MENU ITEM 2 --></li>
<li><!-- MENU ITEM 3 --></li>
</ul>
</div>
</nav>');
?>
footer.php
The footer is also global and may include a copyright link, social media sharing, RSS feeds, links to the disclaimer and privacy policy, and sometimes a small sitemap. A minimal footer.php defines the data for {FOOTER_HTML}.
It’s recommended to separate theme-specific design features into a CSS file. You can create and maintain more than one stylesheet inside a folder.
Helper files
Miscellaneous theme files
These are optional — their absence causes no problems — but they add useful features without altering theme functionality.
index.php
Not part of theme development itself, this is a small security feature. It redirects anyone trying to reach the theme folder one directory back — so a user browsing to {ROOT}/themes/defaulttheme bounces back to {ROOT}/themes, whose own index.php sends them back again to the homepage. Directory listing is already prevented by directory permissions; this is just a friendlier way to say access isn’t allowed.
index.php — folder guard
<?phpheader('../'); ?>
screenshot.gif
A screenshot of the theme’s homepage, shown as a thumbnail in the admin panel’s theme-choosing screen so a theme can be visually recognized. If absent, no thumbnail is shown.
info.txt
Holds information about the theme — its name, description, and version — displayed in the admin panel’s theme selection screen, in this format:
info.txt
Theme Name: Default theme
Description: This is the default theme for ejobsitesoftware.com Software.
Version: 1.0
If absent, the theme folder name is displayed as the theme name and the rest of the information is not shown.
Theme-specific images
Store theme-related images inside a folder named images within the theme directory. Only theme-dependent images (bullets, backgrounds, buttons, icons) belong there. Images that are part of the website itself — like the logo and product images — should go in {ROOT}/images so they can be shared across all themes.
Reference
Theme files at a glance
Files that make up an ejobsitesoftware.com theme (in ROOT/themes/<theme>)
File
Role
Purpose
text.htm
Required
Homepage structural layout with placeholders.
home.php
Required
Fills homepage placeholders with HTML via assign_vars.
header.php
Recommended
Defines the global header (DOCTYPE, banner, menu).
footer.php
Recommended
Defines the global footer (copyright, social, links).
A collection of PHP scripts, HTML/CSS files, and images under the themes folder at the site root, in a folder named after the theme (e.g. ROOT/themes/demo). The files are interlinked to form the actual website.
Do I need coding skills to develop a theme?
Yes. It requires a good knowledge of advanced PHP, HTML, CSS, and JavaScript. Non-technical users can pick from the ready-made theme gallery or request a custom theme instead.
What files does a minimal theme need?
Two: text.htm, which defines the homepage layout with placeholders, and home.php, which fills those placeholders with HTML for elements like the login form, job search, welcome text, and latest jobs.
What is text.htm?
It controls the homepage structure — an HTML-like file with placeholders in curly braces such as {PLACEHOLDER} that determine where the banner, menu, and footer are placed.
What is home.php?
It controls what goes inside the placeholders, substituting HTML for them using the assign_vars method of the $template object.
How are the header and footer handled?
header.php defines HEADER_HTML (everything up to the opening body tag, plus banner and menu) and footer.php defines FOOTER_HTML. A body.php file automatically assigns these to the {HEADER_HTML} and {FOOTER_HTML} placeholders on every page.
What do screenshot.gif and info.txt do?
screenshot.gif is the theme thumbnail shown in the admin theme picker; info.txt holds the theme name, description, and version shown there. If absent, the folder name is used and no thumbnail appears.
Where should theme images be stored?
Theme-dependent images (bullets, backgrounds, buttons, icons) go in an images folder inside the theme directory. Website images like the logo and product images go in {ROOT}/images to be shared across all themes.
Self-hosted with full source code, ejobsitesoftware.com lets you craft custom themes end to end. Explore the developer wiki, or start from a ready-made theme in the gallery.
Self-hosted · Full source code · One-time from $600 · info@ejobsitesoftware.com · +91 98103 36906
This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Cookie settingsACCEPT
Privacy & Cookies Policy
Privacy Overview
This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.