LauraBeatris Foodfy Save Abandoned

MVC application to explore, manage recipes and chefs - built with Express, Nunjucks, and Postgres

Project README

Foodfy

Author Languages Stars Forks Contributors

Take your culinary skills to the next level. Cook, Explore & Manage Recipes.



:pushpin: Table of Contents

:rocket: Features

  • 👩🏽‍🍳 Explore recipes and find amazing chefs.
  • 🍕 Create an account to manage recipes, chefs and users.
  • 📨 As an administrator of the platform, you're able to invite other users.
  • 🌏 Multi language support - English and Portuguese.
  • 🎨 A cool dark mode theme toggle.

Obs: The admin platform isn't all translated yet.

:construction_worker: Installation

You need to install Node.js and Yarn first, then in order to clone the project via HTTPS, run this command:

git clone https://github.com/LauraBeatris/foodfy.git

SSH 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:

git clone [email protected]:LauraBeatris/foodfy.git

Install dependencies

yarn install

Create your environment variables based on the examples of .env.example

cp .env.example .env

After copying the examples, make sure to fill the variables with new values.

:runner: Getting Started

Running with docker-compose

In order to prepare the database and also run the application, set your environment variables and then execute docker-compose

docker-compose up

With this command, the port seted in your environment PORT variable will be available to access the application.

Manually setup

You may prefer to manually configure the database and the application.

Install Postgres to create a database or if you have Docker in your machine, fill the environment values related to database configurations and the run the following commands in order to create a postgres container.

docker-compose up postgres

Execute the follow command to create tables, relationships and procedures:

yarn db:create

To start, run the seeds provided in Seeds in order to populate the database with an initial data.

yarn run:seeds

Run the following command in order to start the application in a development environment:

yarn dev

:postbox: Faq

Question: What are the technologies used in this project?

Answer: The tecnologies used in this project are NodeJS + Express Framework to handle the server, Nunjucks to develop amazing views & SCSS to handle the styles architecture and a better maintenance than normal CSS.

Question: How the multi language support is handled by the server?

Answer: This application handle multi language support with the help of a library called i18n-node. It has a middleware that gather language settings of visitors and then persist translations from JSON files related with a specific locale.

The locale is storaged as a cookie named foodfy:locale and that can be changed by passing a query string with the value ?lang=pt

Question: Are all kind of users able to create and update chefs or recipes?

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.

:bug: Issues

Feel free to file a new issue with a respective title and description on the the Foodfy 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 to find out about the coding standards.

:tada: Contributing

Check out the contributing page to see the best places to file issues, start discussions and begin contributing.

:closed_book: License

Released in 2020. This project is under the MIT license.

Made with love by Laura Beatris 💜🚀

Open Source Agenda is not affiliated with "LauraBeatris Foodfy" Project. README Source: LauraBeatris/foodfy
Stars
121
Open Issues
3
Last Commit
1 year ago
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating