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.
- 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.
This project was developed with the following technologies:
You need the following tools installed in order to run this project: Git, Node.js + NPM, PostgreSQL, and Postbird.
-
Fork this repository and clone it into the current directory
git clone https://github.com/viniciusmoreeira/foodfy.git
-
Install dependencies
npm install
-
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.
-
Populate it with Faker.js
node seed.js
Important! Every Faker user password is "pass" and every single one of them have administrator status.
-
Fire up the server and watch files
npm start
This project is under the MIT license. See the LICENSE for details.