Skip to content

Latest commit

 

History

1,760 Commits

Folders and files

Repository files navigation

Veganify API logo

Veganify API (v0.5)

The official API powering Veganify.


postman_dark postman_light

Documentation

Please refer to Veganify API Documentation for a full documentation.

There is an official Wrapper for React, Vue, Svelte, and more available on npm.

Swagger

Validate OpenAPI.yml

The OpenAPI.yml is automatically available in this Swagger UI.

Available endpoints

The following endpoints are available within the Veganify API:

Development

Use Bun for installation and scripts. Node-based tooling requires Node 22.22.3+, 24.15+, or 26+; these are the versions supported by the Nest 12 schematics.

TypeScript intentionally stays on 6.x. TypeScript 7.0 ships only the native tsc executable, without the compiler API required by Nest CLI 12. Upgrading to 7.0 breaks nest build; Swagger 12 also declares TypeScript 5.5/6 peer support.

Ultracite is pinned to 7.8.3. Version 7.12.2 introduces braces 3.0.3 through fast-glob, which is affected by GHSA-vfj7-8cjw-p6xm (braces <=3.0.3). Revisit this tooling update when it no longer introduces that advisory.

Dependency updates preserve the 48-hour minimum release age configured in bunfig.toml. A newer release shown by bun outdated may therefore be intentionally held back.

To run the API locally, you first need to set up the environment variables. You can do this by creating a .env file based on the .env.example file. Here, you need to set DEEPL_AUTH to a valid DeepL API key (you can get one here for free), PUSHOVER_TOKEN and PUSHOVER_USER can be left blank, and USER_ID_OEANDB to your OpenEANDB user key. For Development purposes, you can just provide a dummy value for the USER_ID_OEANDB key.

After setting up the .env file, you can run the following commands to get everything up and running:

bun install --frozen-lockfile
bun run start:dev

Before committing changes, run bun run check (lint, typecheck, and tests) and bun run build.

Updating the Vegan and Non-Vegan ingredient lists

Before committing changes to the isnotvegan.json and isvegan.json lists, format and process them by running the following command:

npm run process:vegan
npm run process:notvegan

Packages

Used by

Contributors

Languages