amizz / foodbear-api

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FoodBear API

Code coverage: 93.68%

ERD

Development

  1. Install all packages using npm/pnpm/yarn.
npm install
  1. Run all the services (postgresql, meilisearch, redis) using docker or if you have install directly on your machine then make sure all of the services are running.
docker compose up -d
  1. Setup your env file by copying the .env-sample to .env. Don't ever delete or rename the .env-sample. Create new file! Fill in all the relevant details.
  2. Run migrations and seeds.
npm run knex:migrate:latest
npm run knex:seed:run
  1. Run the app.
npm run dev
# or
npm run dev:watch #auto reload

We will not be running the app on Docker due to poor performance when reloading/restarting app in Docker Windows. Only db and other services will be on Docker.

Testing

  1. Running test
npm run test
  1. Test code coverage
npm run coverage

API Route

Summary

You can view the full api documentations on Postman or the openapi schema file in the docs folder.

No Route Method Query Param Body
1 / GET
2 /restaurants GET open, limit
3 /restaurants/top GET min_price, max_price
4 /restaurants/search GET q
5 /purchases POST menu_id, user_id
6 /users/:id GET id

Postman

Run in Postman

About

License:MIT License


Languages

Language:TypeScript 99.6%Language:JavaScript 0.4%