* fix links * actually fix #238 * Feature/mkdocs version bump (#240) * fix links (#239) Co-authored-by: hay-kot <hay-kot@pm.me> * fix #238 * bump mkdocs version * light/dark toggle * light/dark mode css * API_DOCS defaults to True * disable build on push for master Co-authored-by: hay-kot <hay-kot@pm.me> * Feature/recipe viewer (#244) * fix dialog placement * markdown support in ingredients * fix line render issue * fix tag rendering bug * change ingredients to text area * no slug error * add tag pages * remove console.logs Co-authored-by: hay-kot <hay-kot@pm.me> * changelog v0.4.1 * bug/backup-download (#245) * fix blocked download * + download blocked Co-authored-by: hay-kot <hay-kot@pm.me> * Feature/meal planner (#246) * fixes duplicate recipes in meal-plan #221 * add quick week option * scope css * add mealplanner info Co-authored-by: hay-kot <hay-kot@pm.me> * Nextcloud Import Bugs - #248 (#250) * parses datetime properly + clean category - #248 * add default credentials to docs Co-authored-by: hay-kot <hay-kot@pm.me> * Add bulk import examples to docs. (#252) * Add bulk import examples to docs. * Update api-usage.md * Add Python example for bulk import. * Change IP address in API example. * Refactor/app settings (#251) * fix env setup bugs * remove unused import * fix layout issues * changelog Co-authored-by: hay-kot <hay-kot@pm.me> * env setup fixes * Feature/about api (#253) * fix settings * app info cleanup Co-authored-by: hay-kot <hay-kot@pm.me> * Feature/image minify (#256) * fix settings * app info cleanup * bottom-bar experiment * remove dup key * type hints * add dependency * updated image with query parameters * read image options * add image minification * add image minification step * alt image routes * add image minification * set mobile bar to top Co-authored-by: hay-kot <hay-kot@pm.me> * Feature/additional endpoints (#257) * new recipe summary route * add categories to cards * add pillow * show tags instead of categories * additional debug info * add todays meal image url * about page * fix reactive tag * changelog + docs * bump version Co-authored-by: hay-kot <hay-kot@pm.me> * add pillow dependencies (#258) Co-authored-by: hay-kot <hay-kot@pm.me> * Feature/search page (#259) * add pillow dependencies * advanced search page * advanced search apge * remove extra dependencies * add pre-run script Co-authored-by: hay-kot <hay-kot@pm.me> * no image assignment * advanced search * fix docker dev build * Do not force theme settings on login form (#260) * Fix docker dev db persistence (#264) * Fix docker dev db persistence * Make run.sh the only startup script for prod + dev Credits to @hay-kot for run.sh script logic * Restore dev backend initialization in non-docker setup * Make run.sh POSIX-friendly * Allow dev backend to auto-reload in Docker * Frontend Refactor + Bug Fixes * merge category and tag selector * unifiy category selector * add hint * spacing * fix nextcloud migration * simplify email validator #261 * formatting * cleanup * auto-gen * format * update run script * unified category/tag selector * rename component * Add advanced search link * remove old code * convert keywords to tags * add proper behavior on rename * proper image name association on rename * fix test cleanup * changelog * set docker comppand * minify on migration Co-authored-by: hay-kot <hay-kot@pm.me> * bug-fixes/category-tag-creator (#266) * fix category labels * set loader for migration * v0.4.1 Co-authored-by: hay-kot <hay-kot@pm.me> * Hot Fix (#269) * fix category labels * set loader for migration * v0.4.1 * reorganize API docs Co-authored-by: hay-kot <hay-kot@pm.me> * Fix some pytests (#265) * Fix encoding issue in cleaner unit test * Add VS Code task to run pytests * Fix FileExistsError when running Windows * Add Portuguese Translation (#232) * Add Portuguese Translation * add portuguese translation option * formatting * add missing } * specify absolute path * Feature/migration-rewrite (#278) * start * migration rewrite * update name * convert chowdown to new methods * refactor/remove duplicate code * refactor to unify logger + log to file * remove toolbox * Display report on UI Co-authored-by: hay-kot <hay-kot@pm.me> * refactor/image-minification (#285) * refactor image minification calls * remove nusiance logs Co-authored-by: hay-kot <hay-kot@pm.me> * feature/debug-info (#286) * rename 'ENV' to 'PRODUCTION' and default to true * set env PRODUCTION * refactor file download process * add last_recipe.json and log downloads * changelog + version bump * set env on workflows * bump version Co-authored-by: hay-kot <hay-kot@pm.me> * Basic nutrition editor (#288) * Basic nutrition editor * fix no image on scrape * nutrition display * add recipe images * update by url * new upload options Co-authored-by: hay-kot <hay-kot@pm.me> * Sanitize recipe backup filenames (#287) Fixes #275 * fix page creation fixes #290 * Display categories in sidebar if no pages set (#292) Fixes #291 * Enrich page title with context (#296) - Static pages have their own titles - The name of the recipe is displayed when viewing it * fix: translates phrase for locale de (#298) Co-authored-by: Jonas Schubert <jonas.schubert.1990@web.de> * Fix ingredient checkbox click (#305) Fixes #304 v-list-item already flips the checkbox * Localize custom pages and search page (#299) * Localize custom pages and search page * Fix FR translation for step * fixes #306 * fixes #297 * Update changelog * generate docs * fix broken upload button on migrations * docs update * bump version * fix discord link * add TOKEN_TIME and DEFAULT_EMAIL * docs * fixes #312 * fixes #314 * fixes #315 * fix language hydration * v0.4.3 docs * Crowdin integration (#319) * Fix portuguese localization files * Use 4-letter code for locales ID * Update Crowdin configuration file * Make vuetify locales match with new VueI18n standard * Fix old locale ID default setting * Hide project hierarchy from Crowdin * add dateTimeFormats to Crowdin * New Crowdin updates (#322) - Initial Merge * New translations en-US.json (French) * New translations en-US.json (French) * New translations en-US.json (Danish) * New translations en-US.json (Danish) * New translations en-US.json (German) * New translations en-US.json (German) * New translations en-US.json (Polish) * New translations en-US.json (Polish) * New translations en-US.json (Portuguese) * New translations en-US.json (Portuguese) * New translations en-US.json (Swedish) * New translations en-US.json (Swedish) * New translations en-US.json (Chinese Simplified) * New translations en-US.json (Chinese Simplified) * New translations en-US.json (Chinese Traditional) * New translations en-US.json (Chinese Traditional) * New Crowdin updates (#323) * New translations en-US.json (French) * New translations en-US.json (French) * New translations en-US.json (Danish) * New translations en-US.json (Danish) * New translations en-US.json (German) * New translations en-US.json (German) * New translations en-US.json (Polish) * New translations en-US.json (Polish) * New translations en-US.json (Portuguese) * New translations en-US.json (Portuguese) * New translations en-US.json (Swedish) * New translations en-US.json (Swedish) * New translations en-US.json (Chinese Simplified) * New translations en-US.json (Chinese Simplified) * New translations en-US.json (Chinese Traditional) * New translations en-US.json (Chinese Traditional) * New translations en-US.json (Romanian) * New translations en-US.json (Korean) * New translations en-US.json (Vietnamese) * New translations en-US.json (English) * New translations en-US.json (Ukrainian) * New translations en-US.json (Turkish) * New translations en-US.json (Serbian (Cyrillic)) * New translations en-US.json (Russian) * New translations en-US.json (Norwegian) * New translations en-US.json (Dutch) * New translations en-US.json (Japanese) * New translations en-US.json (Italian) * New translations en-US.json (Hungarian) * New translations en-US.json (Hebrew) * New translations en-US.json (Finnish) * New translations en-US.json (Greek) * New translations en-US.json (German) * New translations en-US.json (Czech) * New translations en-US.json (Catalan) * New translations en-US.json (Arabic) * New translations en-US.json (Afrikaans) * New translations en-US.json (Spanish) * New translations en-US.json (Portuguese, Brazilian) * New translations en-US.json (French) (#324) Co-authored-by: hay-kot <hay-kot@pm.me> Co-authored-by: Nat <nathanynath@yahoo.fr> Co-authored-by: sephrat <34862846+sephrat@users.noreply.github.com> Co-authored-by: Pedro Mata Rodrigues <pmmatarodrigues@gmail.com> Co-authored-by: JonasSchubert <jonas.schubert.projects@web.de> Co-authored-by: Jonas Schubert <jonas.schubert.1990@web.de>
2.0 KiB
Development: Getting Started
After reading through the Code Contributions Guide and forking the repo you can start working. This project is developed with 🐳 docker and as such you will be greatly aided by using docker for development. It's not necessary but it is helpful.
With Docker
Prerequisites
- Docker
- docker-compose
You can easily start the development stack by running make docker-dev in the root of the project directory. This will run and build the docker-compose.dev.yml file.
Without Docker
Prerequisites
- Python 3.9+
- Poetry
- Nodejs
- npm
Once the prerequisites are installed you can cd into the project base directory and run make setup to install the python and node dependencies. Once that is complete you can run make backend and make vue to start the backend and frontend servers.
Make File Reference
make setup installs python and node dependencies
make backend Starts the backend server on port 9000
make vue Starts the frontend server on port 8080
make mdocs Starts the documentation server on port 8000
make docker-dev Builds docker-compose.dev.yml
make docker-prod Builds docker-compose.yml to test for production
Trouble Shooting
!!! Error "Symptom: Vue Development Server Wont Start"
Error: TypeError: Cannot read property 'upgrade' of undefined
**Solution:** You may be missing the `/frontend/.env.development.` The contents should be `VUE_APP_API_BASE_URL=http://127.0.0.1:9921`. This is a reference to proxy the the API requests from Vue to 127.0.0.1 at port 9921 where FastAPI should be running.
!!! Error "Symptom: FastAPI Development Server Wont Start"
Error: RuntimeError: Directory '/app/dist' does not exist
**Solution:** Create an empty /mealie/dist directory. This directory is served as static content by FastAPI. It is provided during the build process and may be missing in development.
Run into another issue? Ask for help on discord