Lanka Kitchen is an initiative by Team Watchdog to help community kitchens, ration groups, and other mutual aid organizations run their operations smoother and get support from the communities they serve.
This project serves data in form of a GraphQL API using type-graphql
.
- Postgres with Prisma
- Sendgrid - Mail delivery
- Google Geocoding API
- AWS S3 — For file storage
DATABASE_URL
: URL with authentication details for your POSTGRESQL instance. (This should go inside.env
if you're using .env files to set environment variables.)GOOGLE_API_KEY
: Google Developer API Key with the Geocoding API EnabledAPP_HOST_URL
: Host URL for the webapp. We use this when directing the users back to the webapp from emails.SENDGRID_API_KEY
: Sendgrid API Key. Sendgrid is used to send authentication emails.JWT_SECRET
: JWT secret to generate JWTs for authenticationAWS_ACCESS_KEY_ID
: AWS Access Key IDAWS_SECRET_ACCESS_KEY
: AWS Secret Access KeyAWS_DEFAULT_REGION
: AWS RegionBUCKET_NAME
: AWS S3 Bucket Name to store files
- Clone this repo on your machine.
- Setup an instance of Postgres and create a database for the project. If you have Docker and Docker Compose installed, you can run
docker-compose up -d
from the project root directory. - Put your
.env
file inside the project root directory or set the environment variables via the terminal. - Run
npm install
to install all dependencies - Run
prisma migrate run
to setup your POSTGRES database. - Run
npm run watch
to start your development server in the watch mode.