https://github.com/openculinary/frontend
The RecipeRadar Frontend is a recipe search and meal planning application
https://github.com/openculinary/frontend
dexiejs jquery pwa
Last synced: 5 months ago
JSON representation
The RecipeRadar Frontend is a recipe search and meal planning application
- Host: GitHub
- URL: https://github.com/openculinary/frontend
- Owner: openculinary
- License: agpl-3.0
- Created: 2019-11-22T15:59:27.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2025-05-10T09:59:57.000Z (about 1 year ago)
- Last Synced: 2025-05-10T10:34:32.173Z (about 1 year ago)
- Topics: dexiejs, jquery, pwa
- Language: TypeScript
- Homepage:
- Size: 5.09 MB
- Stars: 12
- Watchers: 2
- Forks: 2
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# RecipeRadar Frontend
The RecipeRadar Frontend is a recipe search and meal planning application.
It's distributed as a [Progressive Web Application](https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps) built using [webpack](https://webpack.js.org).
The application is intended to follow [local-first](https://www.inkandswitch.com/local-first.html) principles, but we have some work to do before we fully achieve that.
Source code for the application is divided into four JavaScript components:
* `src/app` - RecipeRadar application functionality
* `src/diagnostics` - service status and data investigation tools
* `src/feedback` - in-application feedback form based on [feedback.js](https://experiments.hertzen.com/jsfeedback)
* `src/sw` - application [service worker](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API)
The following resources are useful guides for designing ingredient and recipe rendering:
* [The Metric Kitchen - Style Guide](https://www.jsward.com/cooking/style.shtml)
* [Wikipedia - Cooking weights and measures](https://en.wikipedia.org/wiki/Cooking_weights_and_measures)
## Install dependencies
Make sure to follow the RecipeRadar [infrastructure](https://codeberg.org/openculinary/infrastructure) setup to ensure all cluster dependencies are available in your environment.
## Development
To install development tools and run linting and tests locally, execute the following commands:
```sh
$ yarn install
$ make lint tests
```
## Local Deployment
To deploy the service to the local infrastructure environment, execute the following commands:
```sh
$ make
$ make deploy
```
If you have configured and run `haproxy` per the [infrastructure](https://codeberg.org/openculinary/infrastructure) setup instructions, you should be able to run the application by navigating to `http://localhost` in a web browser.
## Internationalization
To gather the latest internationalization (i18n) resource strings from the application, execute the following commands:
```sh
$ npx i18next-scanner
```
## Integrity
To calculate a base64-encoded SHA512 digest of the `index.html` file for integrity-check purposes, build the application (by running `make`), and then run the following command:
```sh
$ cat public/index.html | openssl dgst -sha512 -binary | base64 --wrap 0
```
This should produce a single line of output containing eighty-eight ASCII characters, and this should match the DNS B text record found for the application's deployment domain.