{"id":13403995,"url":"https://github.com/LauraBeatris/foodfy","last_synced_at":"2025-03-14T08:32:21.800Z","repository":{"id":38224360,"uuid":"245826046","full_name":"LauraBeatris/foodfy","owner":"LauraBeatris","description":"MVC application to explore, manage recipes and chefs - built with Express, Nunjucks, and Postgres","archived":true,"fork":false,"pushed_at":"2022-06-23T02:50:31.000Z","size":7474,"stargazers_count":120,"open_issues_count":3,"forks_count":33,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-09-27T07:43:27.293Z","etag":null,"topics":["css","express","mvc","nunjucks","postgres"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LauraBeatris.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-03-08T14:08:10.000Z","updated_at":"2024-08-14T09:56:28.000Z","dependencies_parsed_at":"2022-07-14T22:00:28.422Z","dependency_job_id":null,"html_url":"https://github.com/LauraBeatris/foodfy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LauraBeatris%2Ffoodfy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LauraBeatris%2Ffoodfy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LauraBeatris%2Ffoodfy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LauraBeatris%2Ffoodfy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LauraBeatris","download_url":"https://codeload.github.com/LauraBeatris/foodfy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243547551,"owners_count":20308723,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["css","express","mvc","nunjucks","postgres"],"created_at":"2024-07-30T19:01:37.385Z","updated_at":"2025-03-14T08:32:21.032Z","avatar_url":"https://github.com/LauraBeatris.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n   \u003cimg src=\".github/logo-chef.png\" width=\"200\"/\u003e\n\u003c/p\u003e\n\n# Foodfy\n\n\n\n\n\n[![Author](https://img.shields.io/badge/author-LauraBeatris-D54F44?style=flat-square)](https://github.com/LauraBeatris)\n[![Languages](https://img.shields.io/github/languages/count/LauraBeatris/foodfy?color=%23D54F44\u0026style=flat-square)](#)\n[![Stars](https://img.shields.io/github/stars/LauraBeatris/foodfy?color=D54F44\u0026style=flat-square)](https://github.com/LauraBeatris/foodfy/stargazers)\n[![Forks](https://img.shields.io/github/forks/LauraBeatris/foodfy?color=%23D54F44\u0026style=flat-square)](https://github.com/LauraBeatris/foodfy/network/members)\n[![Contributors](https://img.shields.io/github/contributors/LauraBeatris/foodfy?color=D54F44\u0026style=flat-square)](https://github.com/LauraBeatris/foodfy/graphs/contributors)\n\n\n\u003e Take your culinary skills to the next level. Cook, Explore \u0026 Manage Recipes.\n\n\u003cbr /\u003e\n\u003cp align=\"center\"\u003e\u003cimg src=\".github/home.gif?raw=true\"/\u003e\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cimg src=\".github/toggle_theme.gif?raw=true\"/\u003e\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cimg src=\".github/admin.gif?raw=true\"/\u003e\u003c/p\u003e\n\n---\n\n# :pushpin: Table of Contents\n\n* [Features](#rocket-features)\n* [Installation](#construction_worker-installation)\n* [Getting Started](#runner-getting-started)\n* [FAQ](#postbox-faq)\n* [Found a bug? Missing a specific feature?](#bug-issues)\n* [Contributing](#tada-contributing)\n* [License](#closed_book-license)\n\n\n# :rocket: Features\n\n* 👩🏽‍🍳 Explore recipes and find amazing chefs.\n*  🍕 Create an account to manage recipes, chefs and users.\n* 📨  As an administrator of the platform, you're able to invite other users.\n* 🌏  Multi language support - English and Portuguese.\n* 🎨  A cool dark mode theme toggle.\n\n**Obs: The admin platform isn't all translated yet.**\n\n# :construction_worker: Installation\n\n**You need to install [Node.js](https://nodejs.org/en/download/) and [Yarn](https://yarnpkg.com/) first, then in order to clone the project via HTTPS, run this command:**\n\n```git clone https://github.com/LauraBeatris/foodfy.git```\n\nSSH URLs provide access to a Git repository via SSH, a secure protocol. If you have a SSH key registered in your Github account, clone the project using this command:\n\n```git clone git@github.com:LauraBeatris/foodfy.git```\n\n**Install dependencies**\n\n```yarn install```\n\nCreate your environment variables based on the examples of ```.env.example```\n\n```cp .env.example .env```\n\nAfter copying the examples, make sure to fill the variables with new values.\n\n# :runner: Getting Started\n\n**Running with docker-compose**\n\nIn order to prepare the database and also run the application, set your environment variables and then execute docker-compose\n\n```docker-compose up```\n\nWith this command, the port seted in your environment `PORT` variable will be available to access the application.\n\n**Manually setup**\n\nYou may prefer to manually configure the database and the application.\n\nInstall [Postgres](https://www.postgresql.org/) to create a database or if you have [Docker](https://www.docker.com/) in your machine, fill the environment values related to database configurations and the run the following commands in order to create a postgres container.\n\n```docker-compose up postgres```\n\nExecute the follow command to create tables, relationships and procedures:\n\n```yarn db:create```\n\nTo start, run the seeds provided in [Seeds](https://github.com/LauraBeatris/foodfy/blob/master/src/database/seeds.js) in order to populate the database with an initial data.\n\n```yarn run:seeds```\n\nRun the following command in order to start the application in a development environment:\n\n```yarn dev```\n\n# :postbox: Faq\n\n**Question:** What are the technologies used in this project?\n\n**Answer:** The tecnologies used in this project are [NodeJS](https://nodejs.org/en/) + [Express Framework](http://expressjs.com/en/) to handle the server, [Nunjucks](https://mozilla.github.io/nunjucks/templating.html) to develop amazing views \u0026 [SCSS](https://sass-lang.com/documentation/syntax) to handle the styles architecture and a better maintenance than normal CSS.\n##\n**Question:** How the multi language support is handled by the server?\n\n**Answer:** This application handle multi language support with the help of a library called [i18n-node](https://github.com/mashpie/i18n-node). It has a middleware that gather language settings of visitors and then persist translations from [JSON files](https://github.com/LauraBeatris/foodfy/tree/master/src/locales) related with a specific locale.\n\nThe locale is storaged as a cookie named ```foodfy:locale``` and that can be changed by passing a query string with the value ```?lang=pt```\n##\n\n**Question:** Are all kind of users able to create and update chefs or recipes?\n\n**Answer:** The application has two kind of users: Visitors and Administrators. As a administrator, you're able to create, update and view all the data related to recipes, chefs and also other users. Visitors can also access the admin platform but they don't have access to the views responsable to create and update data.\n\n\n# :bug: Issues\n\nFeel free to **file a new issue** with a respective title and description on the the [Foodfy](https://github.com/LauraBeatris/foodfy/issues) repository. If you already found a solution to your problem, **i would love to review your pull request**! Have a look at our [contribution guidelines](https://github.com/LauraBeatris/foodfy/blob/master/CONTRIBUTING.md) to find out about the coding standards.\n\n# :tada: Contributing\n\nCheck out the [contributing](https://github.com/LauraBeatris/foodfy/blob/master/CONTRIBUTING.md) page to see the best places to file issues, start discussions and begin contributing.\n\n# :closed_book: License\n\nReleased in 2020.\nThis project is under the [MIT license](https://github.com/LauraBeatris/foodfy/blob/master/LICENSE).\n\nMade with love by [Laura Beatris](https://github.com/LauraBeatris) 💜🚀\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLauraBeatris%2Ffoodfy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FLauraBeatris%2Ffoodfy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLauraBeatris%2Ffoodfy/lists"}