Skip to content

viniciusmoreria/foodfy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Foodfy

LaunchBase Bootcamp 🚀

GitHub language count Repository size GitHub last commit License

Goal

The objective of this challenge is to help fixate the content presented throughout the bootcamp. Where we should create a recipe site from zero with several features, as shown below.

Features

  • Dynamic pages and content powered by Nunjucks.
  • Database powered by Postgresql.
  • Being able to add new recipes, update and delete them.
  • Search recipes.
  • Pagination.
  • Upload images to database using Multer.
  • Image Gallery with Lightbox feature.
  • Complete login system, with administrators and regular users.
  • Routes are safe thanks to Validators.
  • Nodemailer to reset and recover passwords.
  • Users, Chefs and Recipes seeds available thanks to Faker.js.
  • Feedback animations powered by Lottie.

Technologies

This project was developed with the following technologies:

Getting Started

You need the following tools installed in order to run this project: Git, Node.js + NPM, PostgreSQL, and Postbird.

  1. Fork this repository and clone it into the current directory

    git clone https://github.com/viniciusmoreeira/foodfy.git
  2. Install dependencies

    npm install
  3. Set up the database

    psql -U <username> -c "CREATE DATABASE foodfy"
    psql -U <username> -d foodfy -f foodfy.sql

    You can manually import the foodfy.sql to Postbird, remember to create a new database with the name Foodfy.

    Important!
    You have to alter the db.js, located in src/config to match your PostgreSQL settings.    
    You also have to alter the mailer.js, located in src/lib to match your Mailtrap settings.  
  4. Populate it with Faker.js

    node seed.js
    Important!
    Every Faker user password is "pass" and every single one of them have administrator status.   
  5. Fire up the server and watch files

    npm start

License

This project is under the MIT license. See the LICENSE for details.