Skip to content

Latest commit

 

History

History
166 lines (132 loc) · 5 KB

File metadata and controls

166 lines (132 loc) · 5 KB

General Technical Overview

This document provides a general technical overview of the application. For more information on selected features of import, see:

Tech stack:

Note: the preference here has been to use npm scripts over build tools.

Steps on how to run the application: README

Directory structure

├── assets                   # Public resources css, js files
├── lib                      # API routes
|    ├── database-helpers    # ElasticSearch and Redis helpers
|    ├── handlers            # Handlers
|    ├── helpers             # Helpers for handlers
├── views                    # Handlebars templates: layouts, pages, partials
                             # and helpers
└── test                     # Unit and integration tests

Database structure

  • index: globalm types:
    • contacts (candidates)
    • gmusers (platform users)
    • analytics (analytics of activity)
    • categories (categories for jobs e.g Backend Development)
    • countries (countries for specific jobs)
    • sectors (business sector e.g FinTech)
    • cv (candidate's cv)
    • gmclients (clients who own the job)
    • gmclientusers (clients who can access the squirrelhr client dashboard)
    • status (stages for the job e.g Interview)
    • csv-list (lists from csv files)

To check the mapping of each type, you can use this command in your browser url:

databaseurl/index/type/_mapping

Prettify version:

databaseurl/index/type/_mapping?pretty

To check an example of the each type, you can use this command in your browser url:

databaseurl/index/type/_search?pretty

API

  • GET /{page*}

  • GET /assets/{params*}

  • GET /activities

  • GET /analytics

  • GET /candidate/{id}

  • GET /candidate/{id}/{keywords?}

  • POST /candidates/create

  • POST /delete

  • POST /favourite

  • POST /info/save

  • POST /li/save

  • POST /notes/save

  • POST /candidates/delete-list

  • GET /client-dashboard

  • POST /nextStage

  • POST /reject

  • GET /connected/{fullname}/{page?}

  • GET /owners/list

  • GET /users/list

  • GET /users/edit/{id}

  • GET /users/create

  • POST /users/save

  • GET /query/{page?}

    Query parameters:

    Name Type Required Description
    job string No Search term
    fullname string No Search term
    location string No Search term
    current string No Search term
    skills string No Search term
    page integer No Zero indexed pagination page number to retrieve
    totalPages integer No Total found results

    Example:

     GET /query?job=developer&fullname=anita&location=london&current=Dwyl&skills=css%2C+js&page=1&totalPages=1348
    
  • POST /status/save

  • POST /status/delete

  • POST /status/edit

  • GET /dashboard

  • POST /dashboard/client/{idClient}

  • POST /dashboard/user

  • GET /jobs/list

  • GET /jobs/create

  • GET /jobs/{id}

  • GET /jobs/edit/{id}

  • GET /jobs/{id}/stages

  • POST /jobs/stages/edit

  • POST /jobs/create

  • GET /countries/list

  • GET /sectors/list

  • GET /clients/list

  • GET /clients/create

  • GET /clients/edit/{id}

  • GET /clients/{id}

  • POST /clients/save

  • GET /client-login

  • POST /client-auth

  • GET /client-users/list

  • GET /client-users/edit/{id}

  • GET /client-users/create

  • POST /client-users/save

  • POST /profile saves data received from extension

  • POST /email

  • POST /sendemail

  • GET /permission

  • GET /login