This repository contains the NuxtJS frontend and Nitro backend for fetching, updating, and displaying lunch menus from various restaurant APIs on the Oulu University campus. The menus are stored in a MongoDB database and can be accessed via an API endpoint.
- Fetches lunch menus from multiple restaurant APIs.
- Periodically updates the menus in the MongoDB database.
- Provides an API endpoint to retrieve the compiled list of menus.
- Displays the lunch menus on a NuxtJS frontend.
Variable | Description | Default |
---|---|---|
NUXT_DB_URL | MongoDB connection URL | mongodb://127.0.0.1:27017 |
NUXT_DB_NAME | MongoDB database name | ou-lunch |
NUXT_HERO_CORE_URL | Url to a hero cloud instance | 127.0.0.1:1818 |
OPENAI_API_KEY | OpenAI API key |
The frontend for this project is built with NuxtJS and is hosted at ouf.fi.
Parts marked with *
are only needed if developing the non-normal opening hours feature.
- Run
npm install
in the root directory to install the dependencies. - *Run
npm run start:cloud
to start the Ulixee Cloud instance. - Run
npm run start:db
to start the MongoDB database on Docker. You must have Docker installed. - Run
npm run dev
to start the NuxtJS frontend in development mode. - *To update the opening hours, visit
localhost:3000/_nitro/tasks/updateHours
in your browser.
Contributions are welcome! Please fork the repository and submit a pull request.
This project is licensed under the MIT Licence. See the LICENCE file for details.