Skip to content

A question and answer app where companies can filter candidates by inviting them to take the challenging tests.

License

Notifications You must be signed in to change notification settings

jojo-tutor/qa-bot-api

Repository files navigation

QA-Bot API Twitter

Packagist

About

A question and answer app where companies can filter candidates by inviting them to take the challenging tests. Candidates that took the exam will be able to secure certificate which can be verified online.

Live (Rest API Documentation)

https://qa-bot-api.herokuapp.com/docs

Run on Local

git clone https://github.com/jojo-tutor/qa-bot-api.git
cd qa-bot-api && yarn && yarn dev

Config

This app will not work as intended if there are no config files.
For security purposes, do not share your config files!
Development: qa-bot-api/.env
Production: qa-bot-api/.env.production
Format:

#app
PORT=4001

#database
DB_HOST="mongo-db-url"
DB_NAME="db-name"
DB_USER="db-user"
DB_PASS="db-password"

#bcrypt
SALT_ROUNDS=10

#session - days
SESSION_MAX_AGE_IN_DAYS=7
SESSION_SECRET="session-secret"
TOKEN_LENGTH=15

#sendgrid
SENDGRID_API_KEY="sendgrid-api-key"
EMAIL_TEMPLATE="email-template-id-created-through-sendgrid"
SUPPORT_EMAIL="support@email.com"

#frontend
PORTAL_HOST="frontend-url"

#basic auth
AUTH_USER="basic-auth-user"
AUTH_PASSWORD="basic-auth-password"

#super user
SUPER_USER_EMAIL="super@admin.com"
SUPER_USER_PASSWORD="secret-password"

Stack (MERN)

Mongo (Database)
Express (Framework)
React (Front-end)
NodeJS (JS Runtime)

Other Tech

Passport (Authentication)
Basic Auth (Authorization)
PM2 (Production Process Manager)
Winston (Logger)
SendGrid (Email Delivery Platform)
Swagger (API Documentation)

Apache Benchmark

ab -n 1000 -c 10 -H "Cookie: access_token=VALUE; connect.sid=VALUE" -H "Authorization: Basic VALUE" https://HOST/ENDPOINT

Authors

Jojo E. Tutor

License

This project is licensed under the GNU GENERAL PUBLIC LICENSE - see the LICENSE file for details

Enjoy :)

About

A question and answer app where companies can filter candidates by inviting them to take the challenging tests.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published