nabeel-ncz / saas-company-management

A scalable and modular solution, managing user authentication, company operations and employee management. Built with TypeScript, Node.js, PostgreSQL, Kafka, and Redis for robust performance and efficiency.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Before starting the project, Please ensure the configuration of enviroment variables

Authentication Service

ACCESS_TOKEN_SECRET="testsecret"
REFRESH_TOKEN_SECRET="testsecret"
REDIS_HOST=
REDIS_PORT=
REDIS_PASS=

DB_NAME=
DB_HOST=
DB_PORT=
DB_USERNAME=
DB_PASSWORD=

KAFKA_BROKER_URLS=
KAFKA_CLIENT_ID=

User Service

ACCESS_TOKEN_SECRET="testsecret"
REFRESH_TOKEN_SECRET="testsecret"

DB_NAME=
DB_HOST=
DB_PORT=
DB_USERNAME=
DB_PASSWORD=

KAFKA_BROKER_URLS=
KAFKA_CLIENT_ID=

Notification Service

KAFKA_BROKER_URLS=
KAFKA_CLIENT_ID=

Company Service

ACCESS_TOKEN_SECRET="testsecret"
REFRESH_TOKEN_SECRET="testsecret"

DB_NAME=
DB_HOST=
DB_PORT=
DB_USERNAME=
DB_PASSWORD=

KAFKA_BROKER_URLS=
KAFKA_CLIENT_ID=

Gateway

AUTH_SERVICE_URL=
USER_SERVICE_URL=
COMPANY_SERVICE_URL=

Now either ou can run locally or by running the docker-compose file

If you are looking to run locally

Clone the repo first

git clone https://github.com/nabeel-ncz/saas-company-management.git

Now, create env file in each services and declare all variables mentioned above

You also want to run kafka broker with zookeeper & redis

Then you can start all the services including gateway

Now you able to access the project in the below host

http://locahost:4000

If you need easily run the application you can just copy the docker compose file and run it after setting up the above mentioned environment variables.

Then you will able to access the project in the below host

http://locahost:4000

Thank you for reading this guide, I hope you understand 😊

About

A scalable and modular solution, managing user authentication, company operations and employee management. Built with TypeScript, Node.js, PostgreSQL, Kafka, and Redis for robust performance and efficiency.


Languages

Language:TypeScript 99.4%Language:Dockerfile 0.6%