Skip to content

JoshuaOndieki/JituExchange

Repository files navigation

JituExchange

DeepScan grade Codacy Badge Maintainability CircleCI codecov

A lite Version of Stack Overflow

Design - Figma

Link to JituExchange Figma designs

Frontend - Angular - AWS S3

Link to JituExchange Angular Frontend

Locally, run npm run dev

Backend - Expressjs - AWS Fargate

Run npm run build && npm start

For development, npm run dev

Database - MSSQL - Azure

To setup database, cd into database folder and run the script > bash setup.sh

Use the -i flag to create or recreate the database

Use the patch command to only execute stored procedures e.g bash setup.sh patch

By default this sets up the development database, however you can specify the database with flags or env variable DB_NAME

Without the exported variable name:

-t flag uses a db called testing bash setup.sh -t

-p flag uses a db called production bash setup.sh -p

Env

Exporting these environment variables work in all microservices where needed. Alternatively, have a .env file in every microservice and add them.

DB_USER (required in backend, background, and db)
DB_PWD (b, bg, db)
DB_NAME (b, bg, db) if not provided, a db called development will be used.
DB_SERVER (b, bg, db)
SECRET_KEY (b)
NG_QUESTION_LINK (bg) a workaround to send question links in email.

Background Services - AWS Fargate

For background services, if using privateemail as host, only add NAMECHEAP_EMAIL and NAMECHEAP_PASSWORD variables. For Gmail and the rest, please modify background/src/utils/nodemailer.ts by replacing namecheapConfig with the appropriate configuration.

ACKNOWLEDGMENT