Ezer-Lachaim / EZLA

1 stars 19 forks source link

EZLA Project

This project was created by Redis and is managed voluntarily. This web application is used to manage volunteer-based ride and transport requests for "Ezer la-haim" Foundation. It is developed utilizing node.js framework in typescript, utilizing Redis for database service, and deployed using Firebase and Google container registry.

To get an overview of the system and setting up development you can watch https://youtube.com/playlist?list=PLU1beXqUCOTbyVJecmcfb1OJ3keJYzvrg&si=fvVNoURtIlvR4NKg

Contributing

Tasks are managed in EZLA GitHub project, and discussions are done on the Google Spaces group.

To contribute, please fork this repository, and create a pull request. If you are unsure how to do this, please follow https://docs.github.com/en/get-started/quickstart/contributing-to-project

To coordinate, and get more details please send an email to yitshak.yarom@ezla.org.il.

Development

This is a mono repo using npm workspaces

Initial setup of the development environment

Possible feature enabled through .env

For allowing guest ride mode (war mode) add the following env variable to your local .env file

ALLOW_GUEST_RIDE_MODE=true

For turning sending SMS messages on add the following env variables to your local .env file

SMS_IS_ON=true
AWS_SMS_ACCESS_KEY_ID={access_key_id}
AWS_SMS_SECRET_ACCESS_KEY={secret_access_key}

Running application locally for development

Run Firebase auth emulator:

firebase emulators:start --only auth

Run redis-stack-server docker container locally:

docker run -p 6379:6379 redis/redis-stack-server:latest

Start backend

npm run dev:backend

Start client

npm run dev:client

Create users for local dev Call GET request to http://localhost:3000/dev/init (curl http://localhost:3000/dev/init) which will create 3 users:

Git flow

TBA