This repository contains the code for the Festify Web Services. The Festify Web Services is a set of services developers can use for their projects. The Festify app also uses the services provided in this repository.
- AIM - Access and Identity Management
- BES - Basic Email Service
Please check back later for more services.
To run locally, you need to have Node.js installed on your machine. You can download Node.js from here.
After installing Node.js, you can run the services by following the steps below:
- Fork and clone the repository to your local machine using
git clone https://github.com/<your-github-user-name>/festify-ws.git
- Go to the
apps/server
directory and create a.env
file with the contents of the.env.example
file. You can do this by running the following command in the terminal:
cd apps/server
cp .env.example .env
- Go to the
apps/client
directory and create a.env
file with the contents of the.env.example
file. You can do this by running the following command in the terminal:
cd apps/client
cp .env.example .env
-
Run a Redis server on your local machine. You can download Redis from here.
- If you are having trouble running Redis on your local machine, you can use the Redis Docker image. You can run the following command in the terminal to run the Redis Docker image:
docker run -d -p 6379:6379 redis
- If you don't want to use Docker, you can use the Redis server provided by RedisLabs. You can create a free account on RedisLabs and create a Redis database.
- Note: After creating a Redis database on RedisLabs, you will need to edit the eviction policy of the Redis database to
no eviction
. You can do this by going to the Redis database settings on RedisLabs and changing the eviction policy tono eviction
. This is necessary because the Bull queue used in the BES service requires the Redis database to have theno eviction
eviction policy.
-
Update the
.env
file in theapps/server
directory with the Redis server details. You can get the Redis server details from the Redis server you are running on your local machine or from RedisLabs. -
Install the dependencies for the server and client by running the following command in the terminal:
cd apps/server
npm install
cd apps/client
npm install
- Run from the root directory:
npm run dev:server
npm run dev:client
If you would like to contribute to the project, please check the CONTRIBUTING.md file for more information.