Tasty is a website that displays a number of recipes and allows users to leave likes and comments on their favourite meals.

Overview

Tasty

Tasty is a website that displays a number of recipes and allows users to leave likes and comments on their favourite meals.

image

Requirements

Build a website that provides data about meals using:

Built With

  • HTML5
  • CSS3
  • JavaScript (ES6)
  • The Meal DB
  • Involvement API
  • Webpack
  • Linters (Lighthouse, Webhint, Stylelint, Eslint)
  • Gitflow
  • Jest
  • Font Awesome (icons)
  • Canva (Banners)
  • Google Fonts

Live Demo

Check Live Demo here.

Getting Started

To get a local copy up and running follow these simple example steps.

Prerequisites

  • A web browser (like Google Chrome, Opera...).
  • A code editor (like Atom, VScode...).

Setup

To setup the project locally: clone the repository using:

git clone [email protected]:ha-manel/Tasty.git

Install dependencies

run : npm install

Build the app

run: npm run build

Run the app

run: npm start

Authors

πŸ‘€ Manel Hammouche

πŸ‘€ Leonard Kombo

🀝 Contributing

Contributions, issues, and feature requests are welcome!

Show your support

Give a ⭐️ if you like this project!

Acknowledgments

  • Hat tip to code reviewers and to everyone who reviewed the project and made suggestions.
Comments
  • Project review: 05/25/22

    Project review: 05/25/22

    Code

    • the code is very nicely arranged in all of the files
    • the module files are straightforward, and the code is well understandable after a first read which is great
    • the tests are really simple and they show clearly the AAA method

    UI

    • nice color choice for a recipe website
    • responsive

    Readme

    • very descriptive
    • maybe I would like to see a screenshot of the project

    Great work, I really couldn't find anything which is great, keep up this good work! :+1:

    opened by virag-ky 1
  • [0.5pt] Find external API - group task

    [0.5pt] Find external API - group task

    Find an API to base the development of the webapp around it. The API should allow you to

    • Get a list of items with a unique item id (or generate the unique id).
    • For a given item, get detailed information about it. choose an APIs that doesn't need authentication. if you select an API that requires authentication, you should implement it on your own. Also, if you select an API that provides image resources your webapp will be more visual.
    opened by ha-manel 1
  • [4pt]  - Display list of items on the Homepage - Student A

    [4pt] - Display list of items on the Homepage - Student A

    Create the main part of the homepage that keeps the layout from the wireframe:

    Screenshot 2021-06-27 at 21 50 23

    When the page loads, the webapp retrieves data from the selected API and shows the list of items on screen with the basic data (e.g. title + image).

    Prepare also "Comments" and "Reservations" buttons. They should be doing nothing - just being displayed.

    This task does not include displaying the number of likes for each item.

    This task does not include the counter of the items.

    opened by ha-manel 1
  • [4pt]  - Display number of likes for each item on the Homepage - Student A

    [4pt] - Display number of likes for each item on the Homepage - Student A

    When the page loads, the webapp the Involvement API to show the item likes and combines them with the data from the base API.

    Remember that your page should make only 2 requests:

    • one to the base API
    • and one to the Involvement API.

    This task does not include displaying the likes button (heart icon on the wireframe) for each item.

    opened by ha-manel 1
  • [3pt]  - Add all items counter on the Homepage - Student A

    [3pt] - Add all items counter on the Homepage - Student A

    Even if the API gives you the number of items, you will create a specific function to calculate it.

    Make sure that the correct number is displayed on the Homepgae.

    opened by ha-manel 1
  • JavaScript Capstone Project

    JavaScript Capstone Project

    Hi, this is Manel and Leonard πŸ‘‹πŸ»

    In this project, we worked with The Meal DB to create a website that showcases meals from different categories. This website also allows users to post likes on comments on each meal.

    Project recap:

    • We created the header and footer for the website.
    • We used the The Meal DB to fetch data and populate the meals cards and their popup windows.
    • We used The Involvement API to post/display likes and comments on each meal card.
    • We created counter functions to count the number of items and comments obtained from the APIs data.
    • We used Jest to test the functionality of the counters.
    • We created a professional-looking README file and deployed the website using GitHub pages.

    Presentation video

    Check out our presentation video here..

    Thank you!πŸ˜„

    opened by ha-manel 0
  • JavaScript capstone project

    JavaScript capstone project

    Hi, this is Manel and Leonard πŸ‘‹πŸ»

    In this project, we worked with The Meal DB to create a website that showcases meals from different categories. This website also allows users to post likes on comments on each meal.

    Project recap:

    • We created the header and footer for the website.
    • We used the The Meal DB to fetch data and populate the meals cards and their popup windows.
    • We used The Involvement API to post/display likes and comments on each meal card.
    • We created counter functions to count the number of items and comments obtained from the APIs data.
    • We used Jest to test the functionality of the counters.
    • We created a professional-looking README file and deployed the website using GitHub pages.

    Presentation video

    Check out our presentation video here..

    Thank you!πŸ˜„

    opened by ha-manel 0
  • Display number of likes on items

    Display number of likes on items

    In this branch I:

    • Created an ID for each card (which is the same ID of the "meal" item obtained from the API).
    • Used the involvement API to fetch the number of likes for each item.
    • Displayed the number of likes for each item.
    • Called the fetchRecipes() and getLikes() functions in a sequential way (we need to call getLikes() after we create the DOM elements using fetchRecipes()).
    opened by ha-manel 0
  • Display list of items on the home page

    Display list of items on the home page

    In this branch I:

    • Used the MealsDB API to fetch data to populate the cards.
    • Styled the cards and the homepage.
    • Added babel-loader in webpack.config.js.
    • Added assets folder that contains some images for the project.
    • Added a kit for Font Awesome
    opened by ha-manel 0
  • [4pt]  -Display Comments pop up with selected item's details - Student B

    [4pt] -Display Comments pop up with selected item's details - Student B

    Create a comments popup only with the top section (displaying details of the selected item)

    Screenshot 2021-06-27 at 22 10 45

    When the popup loads, the webapp retrieves data from the selected API and shows details about the selected item.

    Add event to button prepared by your teammate that will open your popup. You need to communicate with your team member to make sure that you do not block each other (most likely the easiest solution is to merge the list of items feature to the dev branch before you try to add that event).

    opened by ha-manel 0
  • [4pt]  - Display Reservations pop up with selected item's details - Student C

    [4pt] - Display Reservations pop up with selected item's details - Student C

    Create a reservations popup only with the top section (displaying details of the selected item)

    Screenshot 2021-06-27 at 22 10 45

    When the popup loads, the webapp retrieves data from the selected API and shows details about the selected item.

    Add event to button prepared by your teammate that will open your popup. You need to communicate with your team member to make sure that you do not block each other (most likely the easiest solution is to merge the list of items feature to the dev branch before you try to add that event).

    opened by ha-manel 0
Owner
Manel Hammouche
Full-Stack Developer at Microverse. JavaScript enthusiast. Open to new opportunities.
Manel Hammouche
Kyrillos Hany 14 Aug 10, 2022
A website which displays a list of movies and allows the user to leave a comment and like.

Movie-website Description Mobile Version Desktop Version "Movie-website" is a website which display movies from TVmaze api allowing users to like and

Ushindi Gedeon 3 Nov 7, 2022
The Meal DB web application displays a list of meals that provided by an external API.

The Meal DB The Meal DB web application displays a list of meals that provided by an external API. The users can like a meal, leave some comments or m

Behnam Aghaali 5 Mar 12, 2022
Music World is web3 app built over Solana where anyone can add their favourite songs and see the other songs that are added by different people from around the globe.

?? Introduction Music World is web3 app built over Solana where anyone can add their favourite songs and see the other songs that are added by differe

Apoorv Dwivedi 3 Jun 10, 2022
A full-stack social media application where users can post and share their coding projects, adding friends, and joining the discussion in threaded comments on project posts.

CodeFlow Description CodeFlow is a social media application where users can post and share their coding projects with others. By logging in or signing

Chris Nohilly 4 Dec 8, 2022
This project is a To-do list app which users can store and edit their Todo Tasks. Users can also change the order of their todo

Project This project is about a todo app bundling using webpack Additional description about the project and its features. Built With HTML CSS Javascr

Richmond Adu-Kyere 2 Jun 17, 2022
NFTKastle is an NFT marketplace where users can mint their pictures as NFTs, list their NFTs for sale, and buy NFTs from other users.

NFTKastle NFTKastle is an NFT marketplace where users can mint their pictures as NFTs, list their NFTs for sale, and buy NFTs from other users. NFTKas

Paschal 2 Oct 31, 2022
Functions Recipes is a library of examples to help you getting started with Salesforce Functions and get used to their main features.

Functions Recipes Introduction Salesforce Functions lets you use the Salesforce Platform for building event-driven, elastically scalable apps and expe

Trailhead Apps 172 Dec 29, 2022
A simple To Do List application that allows users to save, edit, mark completed, and delete their to-dos, and save their list when application is closed. Build with JavaScript.

To Do List A simple To Do List online application that allows users to save, and manipulate their to-dos, and save their list when application is clos

Mahmoud Rizk 10 Dec 20, 2022
This React-Based WebPage allows the client/user system to create their own blog, where users can publish their own opinions.

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

Gauri Bhand 4 Jul 28, 2022
HN Notifier is a chrome extension that shows the number of unread comments to your HackerNews thread

HN Notifier is a chrome extension that shows the number of unread comments to your HackerNews thread. One of the issues with HackerNews is that it is difficult to know when someone has replied to your post or comment, thus by missing an opporunity to continue the conversation.

Engagespot 12 Oct 22, 2022
πŸ¦‰The jQuery plugin "Stick to me" allows you to create exit-popups on your web page, so you can capture visitors just as they are about to leave.

?? The jQuery plugin "Stick to me" allows you to create exit-popups on your web page, so you can capture visitors just as they are about to leave. How

Guilherme Assemany 18 Feb 10, 2022
A single-page application that allows users to keep track of their books. Users can add the book details (book title and author) and also, and the books can also be removed. Built with JavaScript, HTML, and CSS

Project Name Awesome book with ES6 Description the project. This is a single page application that allows users to keep track of their books. Users ca

Micheal Oguntayo 4 Oct 13, 2022
Multiplies a number by zero. Useful for when you need to multiply a number by zero

multiply-by-zero Multiplies a number by zero. Useful for when you need to multiply a number by zero Please consider checking out the links of this pro

Dheirya Tyagi 2 Jul 3, 2022
jquery-input-mask-phone-number.js - A simple, easy jquery format phone number mask library

jquery-input-mask-phone-number A jQuery Plugin to make masks on input field to US phone format. Quick start 1. Add latest jQuery and jquery-input-mask

Raja Rama Mohan Thavalam 12 Aug 25, 2022